下載文件名亂碼問題

如何保證火狐 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"));  
            }  服務器

相關文章
相關標籤/搜索