我正在使用预签名的 url 来执行分段上传。我成功创建了分段上传并上传了所有部分。但是,当我发送完成分段上传的请求时,我收到“签名不匹配”错误。我不确定我是否缺少标题或类似的东西......这通常似乎是导致此错误消息的原因。
我像这样创建我的预签名网址,它成功没有问题。
const operation = 'completeMultipartUpload';
const params = {
params = {
Bucket: bucketName,
Key: filePath,
Expires: this.expiration,
UploadId: req.body.uploadId,
MultipartUpload: {
Parts:
[
{
ETag: XXX,
PartNumber: X
},
{
ETag: XXXX,
PartNumber: XX
}
]
}
}
this.s3.getSignedUrl(operation, params, (err: AWS.AWSError, data: any) => {
if (err) {
console.log('err', err);
res.status(400).send(err);
} else {
res.status(200).send(data);
}
});
但是当我发布到我的预签名网址时,我得到签名不匹配错误。
this.$http({
url: presignedUrl,
method: 'POST',
}).then((response) => {
console.log(response)
}).catch((error) => {
console.log(error
})
我还需要在此 POST 请求中包含其他内容吗?