Amazon web services s3预签名url多部分formdata上载错误:签名不匹配
我从aws获得一个预先签名的url,并使用它请求(放置)一个zip文件。我得到的签名不匹配 获取预签名url时:Amazon web services s3预签名url多部分formdata上载错误:签名不匹配,amazon-web-services,amazon-s3,multipartform-data,pre-signed-url,Amazon Web Services,Amazon S3,Multipartform Data,Pre Signed Url,我从aws获得一个预先签名的url,并使用它请求(放置)一个zip文件。我得到的签名不匹配 获取预签名url时: const params = { Bucket: myBucket, Key: myKey, Expires: 60*60, ACL: '**-**-**', ContentType: 'application/x-zip-compressed'}; 请求时:
const params = {
Bucket: myBucket,
Key: myKey,
Expires: 60*60,
ACL: '**-**-**',
ContentType: 'application/x-zip-compressed'};
请求时:
const formData = new FormData();
formData.append('file', file);
formData.append('filename', file.name);
fetch(url, {
method: 'PUT',
headers: {
'Content-Type': 'application/x-zip-compressed',
},
body: formData
})
签名中使用的任何
ACL
值也需要在请求头中发送,如'x-amz-ACL':'**-**-**'
还要注意,S3PUT
不期望FormData
——它期望正文
只包含对象的原始字节。这不是错误的原因,但是一旦您纠正了签名错误,您也需要更改它,以便获得有效、可用的上载