在java web工程中有需要从URL上下载文件到指定路径中,使用过程中发现下载中文附件时 本地执行是正常的 上传服务器后中文附件无法下载
解决方法为:
logger.info("url: " + url);
//20160318 防止中文附件下载出错
int index = url.lastIndexOf("/");
String fileName = getFileNameFromUrl(url);
/**Tomcat中的编码也需要改成UTF-8
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
*/
url = url.substring(0, index) + "/" + URLEncoder.encode(fileName,"utf-8");
URL httpurl = new URL(url);
File f = new File(dir + fileName);
FileUtils.copyURLToFile(httpurl, f);
本文介绍了一种解决在JavaWeb项目中从URL下载中文名附件时出现乱码的方法。通过修改Tomcat配置并使用URLEncoder对文件名进行编码,确保了在服务器环境下中文文件名能正确显示。

580

被折叠的 条评论
为什么被折叠?



