1.问题
在程序在前端调用地址的时候,我们后端通过poi将表格从数据库取出,并用过流返回到前台提供下载,这里我们发现火狐浏览器的下载文件名不显示中文,但是其他浏览器全部正常,所以比较困惑,这里我们发现是火狐浏览器的编码格式导致的这个问题,所以在输出之前我们要将文件名进行处理。
2.解决办法
String filename = "部门表"+date+".xls";
String userAgent = request.getHeader("USER-AGENT");//获取浏览器版本
if(StringUtils.contains(userAgent, "MSIE")){//IE浏览器
filename = URLEncoder.encode(filename,"UTF8");
}else if(StringUtils.contains(userAgent, "Mozilla")){//google,火狐浏览器
filename = new String(filename.getBytes(), "ISO8859-1");
}else{
filename = URLEncoder.encode(filename,"UTF8");//其他浏览器
}
我们将文件名进行编码处理即可解决火狐浏览器文件名显示不正确的问题。
您可以通过点击 文章下方的输入框 来对文章内容作出评价, 也可以通过左上方的 关注按钮 来关注我的博客的最新动态。
如果文章内容对您有帮助, 不要忘记点击右上角的 喜欢按钮 来支持一下哦 !
如果您对文章内容有任何疑问, 可以通过评论方式联系我;
如果需要转载,请注明出处,谢谢!!