使用AWS SDK将图像上传到S3

时间:2018-11-21 10:10:45

标签: amazon-web-services amazon-s3 aws-lambda

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

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

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

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

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

docker-compose.yml

如何使用我提到的服务以编程方式上传图像。 我在网上找到的文章仅是上传图片,而不是通过Api Gateway

上传

1 个答案:

答案 0 :(得分:1)

不幸的是,我不太精通JS,但是我将为您提供在Python中用于将图像上传到S3的方法。

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

图像可以表示为base64编码的字符串,您可以将其保存到S3。使用SDK,一旦操作成功,您将获得上传地址或生成自己的地址(这很简单,Internet上有很多指南)。

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