java下载url路径包含中文需要转义的操作
更新时间:2020年12月04日 09:32:45 作者:愿你活成你喜欢的模样
这篇文章主要介绍了java下载url路径包含中文需要转义的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
大家看这个url:
http://127.0.0.1:9997/file/江苏省地震应急预案(二级).docx
应为url路径中有中文没有转义,输入流报错
The valid characters are defined in RFC 7230 and RFC 398
下面我们对中文路径进行截取转义
int lastIndexOf = downloadUrl.lastIndexOf('/');
String fileName = downloadUrl.substring(lastIndexOf + 1);
// 转义关键代码
String newFileName = URLEncoder.encode(fileName, "utf-8");
String subUrl = downloadUrl.substring(0,lastIndexOf + 1);
String newUrl = subUrl + newFileName;
URL url = new URL(newUrl);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
补充知识:Java中URL传递中文字符成乱码,及参数转义符转换
页面使用此函数
function URLencode(sStr)
{
return escape(sStr).
replace(/\+/g, '%2B').
replace(/\"/g,'%22').
replace(/\'/g, '%27').
replace(/\//g,'%2F');
}
处理一下url 要传的参数,这样就可以传到后台想要的特殊字符了
以上这篇java下载url路径包含中文需要转义的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
springboot dynamic多数据源demo以及常见切换、事务的问题
这篇文章主要介绍了springboot dynamic多数据源demo以及常见切换、事务的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-07-07
自定义的Troop<T>泛型类( c++, java和c#)的实现代码
这篇文章主要介绍了自定义的Troop<T>泛型类( c++, java和c#)的实现代码的相关资料,需要的朋友可以参考下2017-05-05
SSM框架中entity mapper dao service controll
这篇文章主要介绍了SSM框架中entity mapper dao service controller层的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-11-11


最新评论