标题说明了一切。这是我的代码;
我正在使用node-formidable来处理文件。
form.on("end",function(field, file){
params.Body = fs.createReadStream(params.filePath)
delete params.filePath;
S3.getSignedUrl('putObject',params, function(err, url) {
if(err){console.log(err);}
console.log(url);
});
})
成功上传后,url变量将返回S3的URL,类似于:
但仍然收到“SignatureDoesNotMatch”错误。报错描述如下:
我们计算的请求签名与您提供的签名不匹配。请检查您的密钥和签名方法。
以下是我的参数:
params = {
Bucket:"bucketname",
Key: file.name,
ACL: 'public-read'
}
我错过了什么?
var params = { Bucket: 'YourBucket', Key: 'uniqueFileKey', Expires: 10000, ContentType: 'application/x-www-form-urlencoded; charset=UTF-8' };
(没有“-”) - Sven Dukat