gpt4 book ai didi

javascript - s3 未上传文件并收到 SignatureDoesNotMatch 错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:45:11 25 4
gpt4 key购买 nike

我正在尝试将图像添加到 aws 中的 s3 存储桶,但它似乎不起作用。我收到 SignatureDoesNotMatch

错误

这是我上传文件/图像的方式:

前端

const file = e.target.files[0];
const fileParts = file.name.split('.');
const fileName = fileParts[0];
const fileType = fileParts[1];
const response = axios.post('api/aws/sign_s3', { fileName, fileType );

后端

router.post('/sign_s3', async (req, res) => {
aws.config.update({
accessKeyId: config.aws.accessKey,
secretAccessKey: config.aws.secretKey,
region: 'us-west-1'
});

const s3 = new aws.S3(); // Create a new instance of S3
const fileName = req.body.fileName;
const fileType = req.body.fileType;

const s3Params = {
Bucket: config.aws.bucketName,
Key: fileName,
Expires: 500,
ContentType: fileType,
ACL: 'public-read'
};

s3.getSignedUrl('putObject', s3Params, (err, data) => {
if (err) return res.send(err);

const returnData = {
signedRequest: data,
url: `https://sim-to-do.s3.amazonaws.com/${fileName}`
};
res.json({ success: true, responseData: returnData });
});

});

我得到两个网址。当我转到第一个时,我收到以下错误代码:

SignatureDoesNotMatch

错误信息

The request signature we calculated does not match the signature you provided. Check your key and signing method.

我做错了什么?将文件上传到 aws s3 的正确方法是什么?

最佳答案

从 header 中删除 Content-Type 后,我能够解决此问题。

关于javascript - s3 未上传文件并收到 SignatureDoesNotMatch 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56455188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com