spring boot 下載檔案時,檔案亂碼問題
阿新 • • 發佈:2019-01-23
老問題了,其實有很多解決方法,今在此記錄一下,檔名亂碼時的正解:(前提:專案採用的時UTF-8編碼)
正解方法:
String fileName = attachmentName; response.setContentType("multipart/form-data"); //response.setContentType("multipart/form-data;charset=UTF-8");也可以明確的設定一下UTF-8,測試中不設定也可以。 response.setHeader("Content-Disposition", "attachment; fileName="+ fileName +";filename*=utf-8''"+URLEncoder.encode(fileName,"UTF-8"));
還有一種方式:
String fileName = attachmentName;
response.setContentType("multipart/form-data");
response.setHeader("Content-Disposition", "attachment;fileName="+ new String(fileName.getBytes("GB2312"),"ISO-8859-1"));
第一中方式可以設定多個名稱(比如支援IE6時,設定英文名稱)