如何保證火狐 ie 谷歌等瀏覽器 下載時文件名不出現亂碼瀏覽器
String agent = (String)getRequest().getHeader("USER-AGENT");
logger.info("USER-AGENT:{}",agent);
//服務器端如何識別客戶端瀏覽器是IE11的狀況,IE7-10都經過USER-AGENT中的MSIE判斷爲IE瀏覽器
if(agent != null && agent.indexOf("MSIE") == -1 && agent.indexOf("rv:11") == -1) {// FF MSIE 指的是ie7 -ie10 後面指的是ie11
logger.info("================== 使用Base64轉碼====================================");
// String enableFileName = "=?UTF-8?B?" + (new String(Base64.encodeBase64(fileName.getBytes("UTF-8")))) + "?=";
String enableFileName = "=?UTF-8?B?" + (new String(Base64.encode(file.getName().getBytes("UTF-8")))) + "?=";
response.setHeader("Content-Disposition", "attachment; filename=" + enableFileName);
} else { // IE
logger.info("================== 使用URLEncoder轉碼====================================");
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(file.getName(), "UTF-8"));
} 服務器