前台访问路径下载中文名文件乱码的处理方式

我在前台要下载 template.doc 文件,通过访问 localhost:8080/项目/template/template.doc 可以下载,但是现在需要文件名改为“模板.doc”,这样就访问不到文件了,地址变为类似 localhost:8080/项目/template/F6%BD%AD%C2%C3%D3%CE%B9%A5%.doc ,我应该怎么处理使得能够正常下载文件?

阅读 4.7k
3 个回答

URLencoder.encode();
URLencoder.decode();

那不是乱码,那是URL不能带中文,所以浏览器进行了转码,你可以看看相关的encodeURIdecodeURI,解决问题的话需要后端进行转码,把URL转回中文。

将文件名进行decode.
eg:

url = `/template/${decodeURIComponent('模板')}.doc`
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进