如果我有一个文件名
a’d1& “[tttt]”’sq.jpg
当它上传到Amazon S3时,它会转换为此
a’d1& “[tttt]”’sq.jpg
所以双引号是URL编码的,文件名本身也会改变.
必须使用编码的URL获取文件
a’d1&%22 [tttt]%22 +’sq.jpg
所以编码规则似乎是:
": %2522 (double encoded)
Space: +
&: %26
[: %5B
]: %5D
+: %2B
有没有办法确定S3所需的所有规则?使用(encodeURI甚至encodeURIComponent)的普通javascript编码将不起作用
最佳答案 这不是来自权威来源,但它符合我的要求:
encodeS3URI
它取代了以下字符!“#$&'()*,:; =?@
S3用文件路径替换空格,因此最好在进行任何进一步的字符串替换之前进行URI编码