使用aws-sdk生成S3分片预签名URL时遇UnexpectedParameter错误
问题解决方法
错误原因很明确:你调用的s3.getSignedUrl('putObject', params)里,putObject操作并不支持UploadId和PartNumber参数,这两个参数是分片上传专用的uploadPart操作的必填参数。
修改代码如下,把操作类型从putObject改为uploadPart即可:
const s3 = new AWS.S3({ endpoint: ep }); const params = { Bucket: myBucket, Key: data.key, UploadId: data.uploadId, PartNumber: data.partNumber, Expires: ttl, }; const url = s3.getSignedUrl('uploadPart', params);
需要确认:你已经通过createMultipartUpload接口获取到有效的UploadId,且PartNumber是AWS要求的1到10000之间的整数。
内容的提问来源于stack exchange,提问作者Masoud Motallebipour
相关产品推荐
相关产品推荐

