要分瀏覽器處理,IE瀏覽器和其餘瀏覽器(谷歌,火狐等等)。web
HttpServletResponse response = this.getResponse();
HttpServletRequest request = this.getRequest();
response.reset();
response.setContentType("application/x-msdownload");
response.setHeader("Content-Type", "application/octet-stream");瀏覽器
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", "attachment;filename=" + fileName);
public static void main(String[] args) { String agent=request.getHeader("User-Agent").toLowerCase(); System.out.println(agent); System.out.println("瀏覽器版本:"+getBrowserName(agent)); } /** * 獲取瀏覽器版本信息 * @Title: getBrowserName * @data:2015-1-12下午05:08:49 * @author:wolf * * @param agent * @return */ public String getBrowserName(String agent) { if(agent.indexOf("msie 7")>0){ return "ie7"; }else if(agent.indexOf("msie 8")>0){ return "ie8"; }else if(agent.indexOf("msie 9")>0){ return "ie9"; }else if(agent.indexOf("msie 10")>0){ return "ie10"; }else if(agent.indexOf("msie")>0){ return "ie"; }else if(agent.indexOf("opera")>0){ return "opera"; }else if(agent.indexOf("opera")>0){ return "opera"; }else if(agent.indexOf("firefox")>0){ return "firefox"; }else if(agent.indexOf("webkit")>0){ return "webkit"; }else if(agent.indexOf("gecko")>0 && agent.indexOf("rv:11")>0){ return "ie11"; }else{ return "Others"; } }