在s3.getSignedUrl()参数

时间:2017-05-19 19:54:08

标签: javascript amazon-web-services amazon-s3 aws-sdk

我正在获得一个" SignatureDoesNotMatch"当密钥名称中有空格时,AWS中的项目的预先签名的URL会发生403错误。当然,关键名称中的空格是个坏主意。

在请求getSignedUrl时,我尝试用加号替换空格,我尝试用%20替换空格,我尝试了各种编码方案都无济于事。

key = "SOMEBUCKET/my file with a space.jpg";
key = key.replace(/ /g,"%20");
params.Key = key
s3Client.getSignedUrl('getObject', params, function(err, url) { }

我得到的是错误文档:

<Code>SignatureDoesNotMatch</Code>
<Message>
The request signature we calculated does not match the signature you 
provided. Check your key and signing method.
</Message>...

如何对此进行编码以便我可以在密钥中使用带空格的S3.getSignedUrl()?感谢StackOverflow世界的帮助。

0 个答案:

没有答案