当前位置 : 主页 > 网络编程 > JavaScript >

下载文件时,针对不同浏览器,进行附件名的编码

来源:互联网 收集:自由互联 发布时间:2021-06-28
文件名编码 /** * 下载文件时,针对不同浏览器,进行附件名的编码 * * @param filename * 下载文件名 * @param agent * 客户端浏览器的User-Agent * @return 编码后的下载附件名 * @throws UnsupportedEncod
文件名编码
/** 
     * 下载文件时,针对不同浏览器,进行附件名的编码 
     * 
     * @param filename 
     *            下载文件名 
     * @param agent 
     *            客户端浏览器的User-Agent
     * @return 编码后的下载附件名 
	 * @throws UnsupportedEncodingException 
     * @throws IOException 
     */  
    public String encodeDownloadFilename(String filename, String agent) throws UnsupportedEncodingException  {  
        if (agent.contains("Firefox")) { // 火狐浏览器  
            filename = "=?UTF-8?B?"  
                    + new org.apache.commons.codec.binary.Base64().encode(filename.getBytes("utf-8"))  
                    + "?=";  
            filename = filename.replaceAll("\r\n", "");  
        } else { // IE及其他浏览器  
            filename = URLEncoder.encode(filename, "utf-8");  
            filename = filename.replace("+"," ");  
        }  
        return filename;  
    }
网友评论