聊聊阿里云 OSS 的转义设计问题
今天同事向我反馈,当我们的静态资源有中文名混杂 + 和空格 时,得到的链接并不能打开,返回的是 404.
举个例子,假定我们的资源为:
http://example-resource.oss-cn-shanghai.aliyuncs.com/23232323/中文 + 文件-file.ec296f20-d67b-11e8-a623-7b28809dc3c9.js
那么在浏览器中访问的文件名应该被转义为:
%E4%B8%AD%E6%96%87%20+%20%E6%96%87%E4%BB%B6-file.ec296f20-d67b-11e8-a623-7b28809dc3c9.js
注意,在这里,空格被转义为 %20
,而 +
没有进行任何处理。