admin管理员组

文章数量:1558102

java写的下载,用IE默认下载和360浏览器下载都很正常,就是用火狐浏览器下载时,文件名称的中文字为乱码,解决方式记录于此:

先在页面做下判断,判断是什么浏览器,然后传一个参数到servlet,进行用不同的编码方式:
火狐的:
response.addHeader("Content-Disposition", "attachment;filename="+ new String(fileName.getBytes("GB2312"),"ISO-8859-1"));
IE及其他:
response.addHeader("Content-Disposition", "attachment; filename="+ URLEncoder.encode(fileName, "UTF-8"));


参考其他资料,火狐中文文件名乱码可以先将中文文件名做Base64编码处理后可按一般浏览器的方式处理,具体可以参考:

http://bbs.csdn/topics/370099592


顺便说下java怎么判断浏览器的类型:

request.getHeader("User-Agent")中有含有浏览器操作系统等信息。

转载于:https://wwwblogs/blogyuan/archive/2013/05/16/3082341.html

本文标签: 乱码文件名中文用火浏览器