解决struts2在(IE,Firefox)下载文件名乱码问题
2015-05-30 14:54
274 查看
String _filename = "";HttpServletRequest request = ServletActionContext.getRequest();String Agent = request.getHeader("User-Agent");//浏览器判断if (null != Agent) {Agent = Agent.toLowerCase();if (Agent.indexOf("firefox") != -1) {_filename = java.net.URLDecoder.decode(request.getParameter("fileName"));_filename = new String(_filename.getBytes(),"iso8859-1");}else if(Agent.indexOf("chrome") != -1){_filename = new String(request.getParameter("fileName").getBytes(),"iso8859-1");}else if (Agent.indexOf("msie") != -1) {_filename = request.getParameter("fileName");_filename = java.net.URLEncoder.encode(request.getParameter("fileName"), "utf-8");} else {_filename = request.getParameter("fileName");_filename = java.net.URLEncoder.encode(request.getParameter("fileName"), "utf-8");}}//注 在客户端fileName已通过encodeURI 编码//乱码出现的原因
ie采用URLEncoder编码输出中文 opera采用filename safari采用iso-8859-1 chrome采用base64或iso-8859-1 firefox采用base64或iso-8859-1
相关文章推荐
- Struts2 注解中跳转 action
- java 利用 poi 生成 Excel文件与spring使用文件流形式下载文件
- POJ 2413 : How many Fibs? - JAVA大数! / 二分查找+大数加法
- 模板方法模式
- 第三章 Java的基本程序设计结构——字符串
- eclipse中格式化代码快捷键Ctrl+Shift+F失效的解决办法
- Java语言的运行机制
- java中short类型变量
- Java第一次作业:源代码计算器 第二问
- Spring SqlRowSet example--转载
- Java GC(垃圾回收)的工作原理
- Java代码 插入排序
- java中的匿名内部类总结
- Eclipse中使用Maven常用的依赖以及错误
- Eclipse中设置花括号对齐到下一行的方法
- Lein: Exception in thread "Thread-3" java.net.ConnectException: Connection refused
- JAVA虚拟机垃圾回收机制
- java理论基础学习三
- 当URL编码遇到String.format
- java用键盘的方向键控制一个图形块推着另一个图形块移动