IE及FF/Chrome下解决文件下载的的中文名问题

前端可以考虑增加一个隐藏帧,代码如下:
 <iframe id="fileDownFrame" src="" style="display:none; visibility:hidden;"></iframe>
 $("#fileDownFrame").attr("src","exportProjectMPPReports.html?projectId="+projectId);
 
后端代码,增加判断请求浏览器类型的代码:
  String agent = request.getHeader("User-Agent");
       boolean isMSIE = (agent != null && agent.indexOf("MSIE") != -1);
       if (isMSIE) {
         codedFileName = java.net.URLEncoder.encode(fileName, "utf-8");  
       } else {
         codedFileName = new String(fileName.getBytes("UTF-8"), "ISO-8859-1");
       }
           response.setContentType("octets/stream");  
           response.addHeader("Content-Type", "text/html; charset=utf-8");             
           response.addHeader("content-Disposition", "attachment;filename=" + codedFileName + ".xls");


 

 

你可能感兴趣的:(IE及FF/Chrome下解决文件下载的的中文名问题)