解决IE文件下载乱码以及不能打开文件问题

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/yiifaa/article/details/51901539

在JAVA WEB程序的文件下载中,经常会出现文件名乱码以及文件下载框难以打开文件问题,并且经过反复测试,在firefox与IE上文件名乱码的处理方法差异较大,核心代码如下:

response.reset(); 
//解决在弹出文件下载框不能打开文件的问题   
response.setContentType("application/octet-tream;charset=GBK");
//解决文件名乱码问题,一定要编码
response.addHeader("Content-Disposition", "attachment;filename=" 
+ new String(fileName.getBytes("GBK"),"ISO8859-1")); 
//经过多次测试,firefox等浏览器则需要转码,代码如下
//response.addHeader("Content-Disposition","attachment; filename=" + java.net.URLEncoder.encode(fileName, "UTF-8")); 
//解决在弹出文件下载框不能打开文件的问题   
response.setContentLength((int) file.length());
展开阅读全文

没有更多推荐了,返回首页