• Java文件下载:如何编码文件名称以及如何设置HttpServletResponse


    在下载文件时,经常遇到文件名乱码等问题。
    本文说明如何编码文件名,以及如何设置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);
  • 相关阅读:
    SPF(poj 1523) 割点入门
    从一个例子讲解拷贝构造函数与return
    还是引用
    引用的实质
    const
    三目运算符
    关于C语言链表的学习
    CS2013调试DLL
    fread与fwrite的自我理解
    可见字符与不可见字符
  • 原文地址:https://www.cnblogs.com/yitouniu/p/7691722.html
Copyright © 2020-2023  润新知