欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

解决文件下载时文件名乱码在ie和firefox下面表现不一致问题 - 快乐、修身、齐家

更新时间: 2015-05-03 00:00:00 责任编辑: Author_N12

 

// 其中 Base64 类来自 org.apache.commons.codec 组件 一个40多k的jar 
public String encodeFileName(HttpServletRequest request, String fileName) throws UnsupportedEncodingException {  
    String agent = request.getHeader("USER-AGENT");  
    if (null != agent && -1 != agent.indexOf("MSIE")) {  
        return URLEncoder.encode(fileName, "UTF-8").replace("+", "%20");  
    }else if (null != agent && -1 != agent.indexOf("Mozilla")) {  
        return "=?UTF-8?B?"+(new String(Base64.encodeBase64(fileName.getBytes("UTF-8"))))+"?=";  
    } else {  
        return fileName;  
    }  
}  


使用例如下载Excel文件。

response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment; filename=\"" + encodeFileName(request, fileName) + "\""); 
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2015-05-03 00:00:00
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/1478246/
本文WWW.DOC100.NET DOC100.NET版权所有。