gpt4 book ai didi

node.js - 使用 Node.js 将 Base64 图像从 IOS 上传到 S3

转载 作者:太空宇宙 更新时间:2023-11-03 22:42:53 25 4
gpt4 key购买 nike

我有以下代码使用 node.js 将图像从 ios 设备上传到 AWS S3:

  var buf = new Buffer(req.body.image.replace(/^data:image\/\w+;base64,/, ""),'base64')

var s3bucket = new AWS.S3({params: {Bucket: 'forplay-static', Key: 'test.png'}});
s3bucket.putObject(buf, function(err, data) {
if (err) {
return res.send({ success: false, err: err });
} else {
return res.send({ success: true });
}
});

我发布的图片是:http://pastebin.com/kcmXJbRd

这会在 err 中返回以下错误:

{ "code": "UnexpectedParameter", "name": "UnexpectedParameter" }

将 Base64 图像上传到 S3 的正确方法是什么?

最佳答案

您无法使用 key 创建存储桶。键标识桶内的资源。不确定您使用的是什么 AWS 客户端,所以我不确定它到底应该是什么样子,但可能是这样的:

var buf = new Buffer(req.body.image.replace(/^data:image\/\w+;base64,/, ""),'base64')

var s3 = new AWS.S3();
s3.putObject({Bucket: 'forplay-static', Key: 'test.png', Body: buf}, function(err, data) {
if (err) {
return res.send({ success: false, err: err });
} else {
return res.send({ success: true });
}
});

编辑:现在我知道了 aws-sdk,我已经根据文档 here 更改了上面的代码。我刚刚跳过了 createBucket 步骤。您将存储桶和 key 参数传递给 putObject 方法,而不是 AWS.S3 构造函数。

关于node.js - 使用 Node.js 将 Base64 图像从 IOS 上传到 S3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418694/

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