如何解决java下载文件中文文件名乱码
发表于:2022-08-12 作者:安全数据网编辑
编辑最后更新 2022年08月12日,如何解决java下载文件中文文件名乱码,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。问题引出:上传中文命名的图片,下载显示不了中文名称。
如何解决java下载文件中文文件名乱码,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
问题引出:
上传中文命名的图片,下载显示不了中文名称。
如图:
(相关视频教程推荐:java视频教程)
解决方法:
1、sping-mvc.xml部分代码:
2、FileController.java中文文件名获取代码:
获取浏览器格式,根据不同浏览器控制文件名编码格式。
String userAgent = request.getHeader("User-Agent");//获取浏览器名(IE/Chome/firefox)if(userAgent.contains("MSIE")||userAgent.contains("Trident")) {//针对IE或IE为内核的浏览器 fileName=java.net.URLEncoder.encode(fileName,"UTF-8"); }else { fileName=new String(fileName.getBytes("UTF-8"),"ISO-8859-1");//谷歌控制版本}headers.setContentDispositionFormData("attachment", fileName);// 默认下载文件名为原始文件名
其他浏览器控制字符格式:(详细)
String userAgent = request.getHeader("User-Agent");//获取浏览器名(IE/Chome/firefox)if (userAgent.contains("firefox")) { fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1"); // firefox浏览器 } else if (userAgent.contains("MSIE")) { fileName = URLEncoder.encode(fileName, "UTF-8");// IE浏览器 }else if (userAgent.contains("CHROME")) { fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");// 谷歌 } headers.setContentDispositionFormData("attachment", fileName);// 默认下载文件名为原始文件名
看完上述内容,你们掌握如何解决java下载文件中文文件名乱码的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
c语言网络技术和编程语言总结
c语言对应的三级考试网络技术
网站服务器后台如何加防护密码
c语言软件开发步骤
c语言中网络技术知识点
服务器对权限提升的防护措施
怎么在阿里云租服务器
黑苹果能做web服务器吗
c语言和网络技术哪个好考
云服务器2核4G是什么性能
工厂机器人cnc软件开发
数据库大小超出限制
软件开发需求怎么提出
linuxtftp服务器
农行软件开发中心西安
绿园区正规网络技术服务
鲸志愿数据库
吕开华 重庆 网络安全
电子支付软件开发
标签模型 标签数据库
服务器安装系统的安全
确保网络安全各项工作
肖战网络安全期
最新网络技术的应用主要有
哪类人适合做软件开发
求生之路本地服务器加载不了
软件开发什么费用可以计提
捷顺数据库连不上
手机有没有数据库储存软件
行96服务器运行失败
网络安全宣传交通运输局
网络安全工作总结第一季度
数据库研究生录取
软件开发预算报价单
ftp如何连接数据库
hbac网络安全
畅捷通的服务器安装路径怎么查看
武汉麻将软件开发公司有哪些
长春市辰欧文网络技术有限公司
京东大兴网络安全招聘