我们在用类似struts2这样的框架做文件下载时,经常会出现弹出一个框,提示 internet Explorer 无法下载 的情况,这种情况,多是文件名是中文, 所以,我们要对文件名进行转码
上面的代码中,fileName是要进行转码的,在相应的getter中添加如下:
这样,即使是中文名,也能正常下载了
<result type="stream">
<param name="contentType">${contentType}</param>
<param name="inputName">inputStream</param>
<param name="contentDisposition">fileName="${fileName}"</param>
<param name="bufferSize">1024</param>
</result>
上面的代码中,fileName是要进行转码的,在相应的getter中添加如下:
public String getFileName()
{
try
{
fileName = new String(fileName.getBytes("GBK"), "ISO8859-1");
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
return fileName;
}
这样,即使是中文名,也能正常下载了