private String processFileName(HttpServletRequest request, String fileName) throws IOException {
String codedfilename = null;
if (request.getHeader("User-Agent").indexOf("MSIE") != -1) {
String prefix = fileName.lastIndexOf(".") != -1 ? fileName.substring(0,
fileName.lastIndexOf(".")) : fileName;
// System.out.println(prefix);
String extension = fileName.lastIndexOf(".") != -1 ? fileName
.substring(fileName.lastIndexOf(".")) : "";
// System.out.println(extension);
String name = java.net.URLEncoder.encode(prefix, "UTF8");
if (name.lastIndexOf("%0A") != -1) {
name = name.substring(0, name.length() - 3);
}
// System.out.println(name);
int limit = 150 - extension.length();
if (name.length() > limit) {
name = java.net.URLEncoder.encode(prefix.substring(0, Math.min(prefix
.length(), limit / 9)), "UTF-8");
if (name.lastIndexOf("%0A") != -1) {
name = name.substring(0, name.length() - 3);
}
}
codedfilename = name + extension;
codedfilename = codedfilename.replaceAll("\\+", " "); // 重新建立空格
} else if (request.getHeader("User-Agent").indexOf("Mozilla") != -1) {
codedfilename = "=?UTF-8?B?"
+ (new String(Base64.encodeBase64(fileName.getBytes("UTF-8"))))
+ "?=";
} else {
codedfilename = fileName;
}
return codedfilename;
}
分享到:
相关推荐
文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf
Linux下中文文件名乱码问题的详解 - CSDN博客原创2016年06月12日 09:59:40标签:压缩 / linux / 乱码Linux下中文文件名乱码
( response.setHeader()下载中文文件名乱码问题
解决浏览器请求响应中文文件名乱码问题的小工具包,解决中文文件名问题
HttpClient4.2.5实现文件上传,无中文文件名乱码问题。亲测无问题。有问题可吐槽!
修改了jar源代码,解决multipart/form-data上传包含中文文件名乱码问题,覆盖apache-jmeter-4.0\lib\ext目录下ApacheJMeter_http.jar即可。
jsp实现文件下载与中文文件名乱码问题解决
1.软件仅对Teleport Ultra 软件 下载网页中 “XX.html” 网页文件名中 “XX” 的乱码进行修复,此处XX为中文字符; 2.软件需要在WIN7及以上系统使用; 3.软件运行依托 .NET 4.5.1; 4.软件仅供技术交流使用,并未...
Java中压缩与解压--中文文件名乱码解决办法
jsch-0.1.53 不支持修改编码格式,sftp.setFilenameEncoding("GBK");这样修改是不起作用的,所以必须修改源码。此处是修改源码后重新导出的jar包。
Java实现文件下载并解决中文文件名乱码
linux下的文件名乱码,转为正常,linux下的文件名乱码,转为正常,linux下的文件名乱码,转为正常
从其他网站上下载的库,修改了字符串编码转换的方法,解决中文乱码问题,使用示例可见https://blog.csdn.net/qq_28742901/article/details/116156457
不同浏览器上中文文件名的下载乱码问题 浏览器IEChromeSafariOpera 浏览器能正确识别的编码格式
主要介绍了Java中FTPClient上传中文目录、中文文件名乱码问题解决方法,本文使用apache-commons-net工具包时遇到这个问题,解决方法很简单,需要的朋友可以参考下
项目中碰到问题.jdk zipEntry 压缩中文文件名乱码 上网查了下,有两种方法,一种修改jdk ZipInputStream及ZipOutputStream 的源文件,比较麻烦,不建议此项. 第二种 就是拿来主义,因为 开源项目 Ant 里已经有...
彻底解决Asp.net 文件下载时文件名的中文乱码和空格异常全球性技术难题 本文用 C# 代码解决了在目前四种流行浏览器中Asp.net 输出文件流时文件名的空格及中文字符乱码这两个问题。使用本文的代码,你将可以让 IE...