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

  • Post author:
  • Post category:其他


在工作中将生成好的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重新创建对象不能实现



版权声明:本文为csdn15679160266原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。