問題:
在進行文件下載的時候出現中文名稱亂碼,顯示不出來
response.setHeader(“Content-Disposition”, “filename=自定義的名稱.jpg” )
解決辦法:
對中文名稱進行編碼處理:
String fileName="自定義名稱.jpg";
//獲得瀏覽器信息並轉換爲大寫
String agent = request.getHeader("User-Agent").toUpperCase();
if(agent.indexOf("MSIE") > 0 || (agent.indexOf("GECKO")>0 && agent.indexOf("RV:11")>0)){
//微軟的瀏覽器(IE和Edge瀏覽器)
fileName = URLEncoder.encode(fileName, "UTF-8");
}else {
fileName = new String(fileName.getBytes("UTF-8"), "iso-8859-1");
}
response.setHeader("Content-Disposition", "filename=" + fileName);
使用上面的代碼進行編碼後,經測試在Chrome, Firefox ,IE ,360瀏覽器都可以正常顯示中文名稱。