URLEncoder.encode(oldname,"UTF-8")在firefox中无效
2016-04-09 13:58
465 查看
下载文件保存文件名的乱码问题:
servlet jsp
今天看方立勋的javaweb,day18 文件的递归和下载时,发现Downservlet中这段代码在firefox中无效,
//得到文件的原始文件名
String oldname = file.getName().substring(file.getName().indexOf("_")+1);
//通知浏览器以下载方式打开下面发送的数据
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(oldname,"UTF-8"));
百度后在stackoverflow参考他人答案给出如下的方案,在IE8和firefox43.0.3中可行
解决:
原因的参考这篇文章:正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)作者:iefans
stackoverflow:点击打开链接
servlet jsp
今天看方立勋的javaweb,day18 文件的递归和下载时,发现Downservlet中这段代码在firefox中无效,
//得到文件的原始文件名
String oldname = file.getName().substring(file.getName().indexOf("_")+1);
//通知浏览器以下载方式打开下面发送的数据
response.setHeader("content-disposition", "attachment;filename=" + URLEncoder.encode(oldname,"UTF-8"));
百度后在stackoverflow参考他人答案给出如下的方案,在IE8和firefox43.0.3中可行
解决:
<span style="font-size:24px;"><span style="font-size:14px;">String encodefileName = request.getHeader ( "user-agent" ).contains ( "MSIE" ) ? ("="+URLEncoder.encode ( oldfilename, "utf-8") ):("*=utf-8''"+ URLEncoder.encode ( oldfilename, "utf-8") ); response.setHeader ( "Content-disposition", "attachment; filename" + encodefileName); </span></span>
原因的参考这篇文章:正确处理浏览器在下载文件时HTTP头的编码问题(Content-Disposition)作者:iefans
stackoverflow:点击打开链接
相关文章推荐
- 一段非常好的滑动门[可感应触发或点击触发]兼容IE7 IE6 FireFox Opera
- Orace查询数据出现乱码的问题解决思路
- oracle em 按钮乱码解决办法及em网页变成英文
- Firefox 之不传秘籍
- C#读取中文文件出现乱码的解决方法
- div flash firefox div层总是被flash层遮盖
- Firefox 便携版 Portable Firefox v2.0.0.6 简体中文版 下载
- mysql命令提示行连接乱码的解决
- 解决Java程序使用MySQL时返回参数为乱码的示例教程
- firefox下rowspan+border+border-collapse的bug
- firefox的超链接点击去除扩大的难看虚线的解决方法
- word-wrap在firefox中不起作用的解决方法
- Firefox返回时Iframe的显示Bug的解决方法
- 多浏览器下IE6 IE7 firefox li 间距问题第1/2页
- javascript兼容firefox的文本输入长度提示
- 解析IE, FireFox, Opera 浏览器支持Alpha透明的方法
- Firefox下样式设置宽度奇怪现象
- firefox css自动换行的实现方法
- firefox 扩展开发技巧