URL传值中“+”替换成空格的解决办法

发布于 2020-09-26  124 次阅读


公司项目“文件管理系统”,今天莫名出现了一个文件无法下载的问题。其他文件没问题。经过排查发现url传值中。+号被替换成了空格,导致文件名出错。查资料得知,原因是URL中默认的将“+”号转义了。

//出错代码 filename中出现+出错
window.open(
http://localhost:81/file/downloadFile?fileName=${fileName}&type=${type}&name=${name}
);
//修复后的代码,用encode编码下即可解决
window.open(
http://localhost:81/file/downloadFile?fileName=${encodeURIComponent(fileName)}&type=${type}&name=${name}
);


一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。