java下载url路径包含中文需要转义的操作
大家看这个url:
http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx
应为url路径中有中文没有转义,输入流报错
ThevalidcharactersaredefinedinRFC7230andRFC398
下面我们对中文路径进行截取转义
intlastIndexOf=downloadUrl.lastIndexOf('/'); StringfileName=downloadUrl.substring(lastIndexOf+1); //转义关键代码 StringnewFileName=URLEncoder.encode(fileName,"utf-8"); StringsubUrl=downloadUrl.substring(0,lastIndexOf+1); StringnewUrl=subUrl+newFileName; URLurl=newURL(newUrl); HttpURLConnectionconn=(HttpURLConnection)url.openConnection();
补充知识:Java中URL传递中文字符成乱码,及参数转义符转换
页面使用此函数
functionURLencode(sStr) { returnescape(sStr). replace(/\+/g,'%2B'). replace(/\"/g,'%22'). replace(/\'/g,'%27'). replace(/\//g,'%2F'); }
处理一下url要传的参数,这样就可以传到后台想要的特殊字符了
以上这篇java下载url路径包含中文需要转义的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。