兼容不同浏览器上中文文件名的下载

不保证所有浏览器所有版本都兼容

注:

只写出了文件名处理部分的内容(默认excel表格下载)

我是java从业者

代码中的request,response分别为 HttpServletRequest request,HttpServletResponse response

请将response.setContentType,type替换成对应的文件类型

代码及变量名未经优化,请自行处理

不保证所有浏览器所有版本都兼容

  •         	String title = "中文文件名";
            	String newtitle = URLEncoder.encode(title, "UTF-8");
            	String userAgent=request.getHeader("User-Agent").toLowerCase();
            	String type=".xls";
            	title = new String(title.getBytes("UTF-8"),"ISO8859-1");
            	response.reset();
            	response.setCharacterEncoding("UTF-8");
            	response.setContentType("application/vnd.ms-excel;charset=utf-8");
            	response.setHeader("pragma", "no-cache");
            	if (userAgent.indexOf("trident")!=-1) {
            		response.addHeader("Content-Disposition", "attachment; filename=\""+ newtitle + type + "\"");
    			}else {
    				response.addHeader("Content-Disposition", "attachment; filename=\""+ title + type + "\"");
    			}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值