目前浏览器会对地址,进行编码,比如这个文件名:
sales\报表.png在发到后台时,会自动编码成:
/file/view/sales/%E6%8A%A5%E8%A1%A8.png在node.js会自动反编码成:
sales\报表.png不过如果文件名中含有%百分号,编码过程则会出现问题,如
sales\报%表.png发送到node.js接收到的自动编码数据:
/file/view/sales/%E6%8A%A5%%E8%A1%A8.png%E6%8A%A5%%E8%A1%A8.png 因为中间的百分号没有自动编码,然后导致node.js自动解码失败。
解决方案
含有百分号时,先在前端手动编码
encodeURIComponent('报%表.png')此时%会编码成%25,
%E6%8A%A5%25%E8%A1%A8.png发送到后台,解码正常。
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!