如何解决java下载文件中文文件名乱码
发表于:2023-03-21 作者:安全数据网编辑
编辑最后更新 2023年03月21日,如何解决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是什么性能
昌平区软件开发优势
国家网络安全宣传知识竞答
一个网络安全有哪些方面
构建服务器安全系统
开展网络安全审计
网络安全考什么学校
服务器也怀旧
方舟为什么么无法创建服务器
数据库数据结构哪个难
兼职软件开发能有多少工资
电信软件开发做什么
电源是服务器组件中支持冗余的吗
pxe 服务器
广东话物互联网科技有限公司
方舟服务器管理密码获取
河南 网络技术 专升本
网络安全指的哪些基金
简单回答数据库的存储过程
邮件被服务器拒绝
苹果连接id服务器出错
ssh隧道技术连接数据库
医学软件开发计划书
怎么检查邮箱的邮件服务器
计算机网络技术知识大全
安卓连接数据库的技术
网络安全教育评课
百度在线网络技术有限公司天津
如何改数据库的架构
数据库bit类型更改默认值
原神手机是在哪个服务器