首页 > 解决方案 > S3 SignedURL UploadPart 因 SignatureDoesNotMatch 而失败

问题描述

我正在尝试使用分段上传来上传文件。https://sandyghai.github.io/AWS-S3-Multipart-Upload-Using-Presigned-Url/

到目前为止,在我的后端,我得到了签名的 URL,例如:

s3.getSignedUrl('uploadPart', {
    Bucket: ...,
    Key: ...,
    Expires: 60 * 60 * 2, // Expires in 2h
    UploadId: uploadId,
    PartNumber: 1
})

我使用 bash 将文件分成 2 个

split -b 50000000 test.mp4

我尝试使用提供的 URL 使用 Postman 上传并传递我的部分,例如

我也尝试过使用 POST 方法。并添加内容类型但仍然得到不匹配的签名

在此处输入图像描述

标签: amazon-s3aws-sdk

解决方案


原来我需要将签名版本设置为 4

const s3 = new AWS.S3({ signatureVersion: 'v4' });

推荐阅读