下載檔案時檔名為中文相容IE和火狐
阿新 • • 發佈:2019-01-30
response.setContentType("application/x-download"); if (request.getHeader("User-Agent").toLowerCase().indexOf("firefox") > 0) { response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(filename.getBytes("UTF-8"), "ISO8859-1") + "\""); // 一定要前後雙引號括起來,不然火狐遇到帶空格的檔名,會顯示不全。 } //IE else if (request.getHeader("User-Agent").toUpperCase().indexOf("MSIE") > 0) { filename = URLEncoder.encode(filename, "UTF-8").replaceAll("\\+", "%20");//URLEncoder會把空格替換為加號,再轉回來就好,記住第一個引數是正則。 response.setHeader("Content-Disposition", "attachment; filename=\"" + filename + "\""); }