FireFox、Edge文件下载时中文乱码问题

针对这个问题不同的浏览器解决方法不同
可通过User-Agent头部信息判断客户使用的是什么浏览器。
具体可参考:使用userAgent区分浏览器版本

firefox 和 Edge 解决方法

//设置两个消息头
		response.addHeader("content-Type", "application/octet-stream");//第二个参数为MIME类型
		//为了使带有中文的文件能在不同游览器中显示,需要分别处理
		//获取头信息
		String agent = request.getHeader("User-Agent");
		if(agent.toLowerCase().indexOf("firefox") > -1) {
			//Firefox
			//response.addHeader("content-Disposition", "attachment;filename="+ new String(filename.getBytes(),"ISO-8859-1"));
			response.addHeader("content-Disposition", "attachment;filename==?UTF-8?B?"+ new String(Base64.encodeBase64(filename.getBytes("UTF-8"))+"?="));

		}else if(agent.toLowerCase().indexOf("edge") > -1) {
			//edge
			response.addHeader("content-Disposition", "attachment;filename="+URLEncoder.encode(filename,"utf-8"));
		}else {
			//其他游览器
			
		}
发布了20 篇原创文章 · 获赞 0 · 访问量 485

猜你喜欢

转载自blog.csdn.net/qq_43635212/article/details/104367348
今日推荐