Struts2文件下载文件名中文出现乱码解决办法

时间:2022-01-18 08:35:24

经过本人实验该方法非常简单:

Struts2文件下载时,如果所下载的文件名是中文时,就会出现乱码。
解决办法如下:

步奏一:修改fileName属性的set方法
public void setFileName(String fileName)
throws UnsupportedEncodingException {
this.fileName = new String(fileName.getBytes("ISO8859-1"), "utf-8");
}
步骤二:在getInputStream()方法中加上下面一句
ServletActionContext.getResponse().setHeader("Content-Disposition","attachment;fileName="+java.net.URLEncoder.encode(fileName, "UTF-8"));