Struts做文件下载时,遇到如图情况

原因之一:中文文件名
<global-results>
<result name="stream" type="stream">
<param name="inputName">inputStream</param>
<!--<param name="contentType">application/vnd.ms-excel</param>-->
<param name="contentDisposition">attachment;filename="${fileName}"</param>
<param name="bufferSize">4068</param>
</result>
</global-results>
private String fileName;
private InputStream inputStream;
getter/setter方法,其中
//中文的得处理下,不然会出现以上问题
public String getFileName() {
try {
fileName = new String(fileName.getBytes("gb2312"), "ISO8859-1");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
return fileName;
}
-----20140415更新
若URIEncoding为UTF-8 可用
fileName =java.net.URLEncoder.encode("中文文件名","utf-8")+".xls";
Struts文件下载中文名问题
本文介绍了解决Struts框架中使用中文文件名进行文件下载时出现的问题的方法。通过设置正确的文件名编码,可以避免浏览器无法正确解析中文字符导致的下载失败。

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



