问题产生原因
做一个文件管理工具时,下载文件中不包含中文路径,一点问题没有,下载文件中包含中文名,就会导致404。
问题分析
因为下载请求通常使用get请求,这时候浏览器会对请求url包含中文进行编码,后端接受的url是编码后的路径,这样就会导致问题(乱码),需要解码。
问题解决
- 如果使用Tomcat 可以尝试里的server.xml文件找到<Connector port="8080".../>这段(8080是你Tomcat的端口),在这段里加URIEncoding="GBK"
- 我的解决是在后端使用java.net.URLDecoder.decode(url, "UTF-8")解码,其中url为我们请求路径
本文由 止戈 创作,采用 知识共享署名4.0
国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Jan 10,2020