文件下载中文文件名无法显示问题

在工作中将生成好的pdf字节流写回前端响应下载时文件名显示有问题。

在将返回前端下载的文件名修改为中文后,下载的文件名字未显示

如:
原下载名:"download.pdf" 修改后 "下载.pdf"

获得的附件下载显示为".pdf",缺失了文件名,出现这种情况后查阅相关资料得到:
暂时可信的原因为:header中只支持ASCII,所以在传输中的中文不是该编码方式,即会出现中文文件名显示缺失的情况。

使用下面的转码能够达到目的:

IE下:

downloadFileName = new String(downloadFileName.getBytes(),"ISO-8859-1");
非IE:
String downloadFileName = URLEncoder.encode("下载.pdf","UTF-8");//直接使用new String重新创建对象不能实现

猜你喜欢

转载自blog.csdn.net/csdn15679160266/article/details/81055331
今日推荐