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);


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM