struts2下载文件名乱码解决办法 兼容浏览器
2012-07-11 12:47
337 查看
首先xml文件
<result type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${name}"</param>
<!-- 指定下载文件的缓冲大小 -->
<param name="bufferSize">4096</param>
</result>
然后重点来了,对文件名进行编码
HttpServletRequest request = ServletActionContext.getRequest();
String agent = request.getHeader("User-Agent");
if (null != agent) {
agent = agent.toLowerCase();
if (agent.indexOf("firefox") != -1) {
name = new String(name.getBytes(),"iso-8859-1"); //如果是火狐浏览器就用此方式编码
} else {
name = java.net.URLEncoder.encode(name,"UTF-8"); //如果是ie浏览器就用此编码
}
}
<result type="stream">
<param name="contentType">application/octet-stream;charset=ISO8859-1</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">attachment;filename="${name}"</param>
<!-- 指定下载文件的缓冲大小 -->
<param name="bufferSize">4096</param>
</result>
然后重点来了,对文件名进行编码
HttpServletRequest request = ServletActionContext.getRequest();
String agent = request.getHeader("User-Agent");
if (null != agent) {
agent = agent.toLowerCase();
if (agent.indexOf("firefox") != -1) {
name = new String(name.getBytes(),"iso-8859-1"); //如果是火狐浏览器就用此方式编码
} else {
name = java.net.URLEncoder.encode(name,"UTF-8"); //如果是ie浏览器就用此编码
}
}
相关文章推荐
- Struts2文件下载文件名中文出现乱码解决办法
- 下载文件个别浏览器文件名乱码解决办法
- Struts2文件下载文件名中文出现乱码解决办法
- 下载文件个别浏览器文件名乱码解决办法
- 下载文件个别浏览器文件名乱码解决办法
- 解决各大浏览器下载文件乱码以及Firefox下载文件名不全问题
- 解决各大浏览器下载文件乱码以及Firefox下载文件名不全问题
- java下载文件时文件名出现乱码的解决办法
- [多浏览器兼容]下载文件名乱码
- 文件下载 response.setHeader()下载中文文件名乱码问题 解决办法
- 解决各大浏览器下载文件乱码以及Firefox下载文件名不全问题
- 解决struts2 下载中文名称乱码问题 适应不同三大主流浏览器 chrome28.0.1500.95、 firefox 23.0.1 、 IE11
- 文件下载 response.setHeader()下载中文文件名乱码问题 解决办法
- 解决ie和其他浏览器poi下载excel文件名乱码
- 解决struts2在(IE,Firefox)下载文件名乱码问题。
- 解决各大浏览器下载文件乱码以及Firefox下载文件名不全问题
- java 下载文件 兼容 ie 火狐 google 浏览器 ,解决下载文件乱码问题
- ie 火狐 谷歌 浏览器下载,文件名字乱码,空格,不兼容问题解决
- 解决各大浏览器下载文件乱码以及Firefox下载文件名不全问题
- 中文附件文件名过长,导致下载时文件名为乱码的错误解决办法