亚马逊 S3 URL 编码

2024-03-25

如果我有一个文件名

a'd1 & "[tttt]" + 'sq.jpg

当它上传到 Amazon S3 时,它会转换为这样

a'd1 & %22[tttt]%22 + 'sq.jpg

因此双引号被 URL 编码并且文件名本身被更改。

必须使用编码的 URL 来获取文件

a%27d1+%26+%2522%5Btttt%5D%2522+%2B+%27sq.jpg 所以编码规则似乎是:

": %2522  (double encoded)
Space: + 
&: %26 
[: %5B
]: %5D
+: %2B 

有没有办法确定 S3 需要的所有规则?使用 (encodeURI 甚至encodeURIComponent) 的正常 javascript 编码将不起作用


这不是来自明确的来源,但它满足了我的要求:编码S3URI https://github.com/GeorgePhillips/node-s3-url-encode/blob/master/index.js

它替换以下字符+!"#$&'()*+,:;=?@

S3 将文件路径中的空格替换为+,所以最好在任何进一步的字符串替换之前进行 URI 编码

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

亚马逊 S3 URL 编码 的相关文章

随机推荐