我从 aws 获取一个预签名的 url,并使用它来请求(PUT)一个 zip 文件。我得到签名不匹配。
获取预签名 url 时:
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
——它期望body
包含装有only对象的原始字节。这不是错误的原因,但是一旦您更正了签名错误,您也需要更改它,以获得有效、可用的上传。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)