gpt4 book ai didi

amazon-web-services - 使用aws sdk上传图片到s3

转载 作者:行者123 更新时间:2023-12-02 02:48:10 25 4
gpt4 key购买 nike

我目前正在使用 AWS 服务创建用户配置文件。

基本上我已经可以添加用户详细信息,如(姓名、性别、兴趣)

我正在使用 API 网关 接受我使用 PostMan 发送的参数,然后 API 网关 POST 方法将请求发送到 AWS Lambda 然后我使用 aws sdk 将数据插入到 Dynamodb

我想要的是将图像上传给用户,文件将保存到 s3,然后我将 s3 的 url 与其他用户详细信息一起存储到 dynamodb。

我当前的 lambda 代码是这样的:

const AWS =  require('aws-sdk');
const dynamodb = new AWS.DynamoDB({region: 'XXXXXX', apiVersion: 'XXX'});
const uuidv4 = require('uuid/v4');

exports.handler = function(event, context, callback) {
const params = {
Item: {
'uuid': { S: "i_" + uuidv4() },
'profileImage': { S: event.profileImage },
'name': { S: event.name }
},
TableName: 'users'
};

dynamodb.putItem(params, function(err, data) {
const response = {
status: 200,
message: JSON.stringify('A record has been created')
};
if (err) {
console.log(err);
callback(err);
} else {
console.log(data);
callback(null, response);
}
});
};

如何使用我提到的服务以编程方式上传图像。网上查到的文章都是单独上传图片,不通过Api Gateway

最佳答案

不幸的是,我不太精通 JS,但我会向您介绍我在 Python 中使用的将图像上传到 S3 的方法。

由于您无法通过 API 网关传递整个对象(如图像、zip 文件或 w/e),因此您必须将其包含在 POST 的有效负载中。

图像可以表示为可以保存到 S3 的 base64 编码字符串。使用SDK,运行成功后会收到上传地址,也可以自己生成(很简单,网上有很多攻略)。

由于默认情况下 S3 中的图像只是一个 base64 编码的字符串,因此您需要指定要上传到 S3 的对象的类型(Content-Type header ),以便之后(在浏览器中)打开图像例如)。

关于amazon-web-services - 使用aws sdk上传图片到s3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53409686/

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