yitouniu

在下载文件时,经常遇到文件名乱码等问题。
本文说明如何编码文件名,以及如何设置HttpServletResponse对象。

1,如何编码文件名

String userAgent = request.getHeader("User-Agent");
if (/* IE 8 至 IE 10 */
    userAgent.toUpperCase().contains("MSIE") ||
    /* IE 11 */
    userAgent.contains("Trident/7.0")) {
    fileName = URLEncoder.encode(fileName, "UTF-8");
} else if (userAgent.toUpperCase().contains("MOZILLA") || 
userAgent.toUpperCase().contains("CHROME")) { fileName = new String(fileName.getBytes(), "ISO-8859-1"); } else { fileName = URLEncoder.encode(fileName, "UTF-8"); }

2,如何设置HttpServletResponse对象 以下代码以Excel文件下载为例。

response.setCharacterEncoding("UTF-8");
response.setContentType("application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment; filename=" + fileName);

分类:

技术点:

相关文章:

  • 2021-06-12
  • 2021-12-17
  • 2021-10-29
  • 2022-12-23
  • 2022-12-23
  • 2021-12-28
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-12-15
  • 2021-12-03
  • 2022-12-23
  • 2021-05-10
  • 2021-12-20
  • 2021-09-12
相关资源
相似解决方案