gpt4 book ai didi

node.js - 为什么我的 S3 上传没有正确上传?

转载 作者:搜寻专家 更新时间:2023-10-31 23:04:40 25 4
gpt4 key购买 nike

我使用以下格式上传图像文件:

var body = fs.createReadStream(tempPath).pipe(zlib.createGzip());
var s3obj = new AWS.S3({params: {Bucket: myBucket, Key: myKey}});
var params = {
Body: body,
ACL: 'public-read',
ContentType: 'image/png'
};

s3obj.upload(params, function(err, data) {
if (err) console.log("An error occurred with S3 fig upload: ", err);
console.log("Uploaded the image file at: ", data.Location);
});

图像成功上传到我的 S3 存储桶(没有错误消息,我在 S3 控制台中看到它),但是当我尝试在我的网站上显示它时,它返回一个损坏的 img 图标。当我使用 S3 控制台文件下载器下载图像时,我无法打开它,并显示文件“损坏或损坏”的错误。

如果我使用 S3 控制台手动上传文件,我可以在我的网站上正确显示它,所以我很确定我的上传方式有问题。

出了什么问题?

最佳答案

我终于找到了问题的答案。我需要再发布一个参数,因为文件是 gzip 压缩的(使用 var body = ...zlib.createGzip())。这解决了我的问题:

var params = {
Body: body,
ACL: 'public-read',
ContentType: 'image/png',
ContentEncoding: 'gzip'
};

关于node.js - 为什么我的 S3 上传没有正确上传?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33792936/

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