小编Aus*_*met的帖子

使用 Lambda 将图像从表单数据上传到 S3

因此,我正在编写一个 Lambda,它将通过 API Gateway 直接 POST 获取某种表单数据(目前使用 Postman 进行测试),然后将该图像发送到 S3 进行存储。每次运行它时,上传到 S3 的图像都会损坏并且无法正常打开。我见过人们必须对传入数据进行解码/编码,但我觉得我已经尝试了使用Buffer.from. 我只想存储.png.jpg。下面的代码并不反映我使用 Base64 编码/解码的尝试,因为它们都失败了。这是我到目前为止所拥有的 -

邮递员中的示例请求

{
  image: (uploaded .jpg/.png),
  metadata:  {tag: 'iPhone'}
}
Run Code Online (Sandbox Code Playgroud)

拉姆达

const AWS = require('aws-sdk')
const multipart = require('aws-lambda-multipart-parser')
const s3 = new AWS.S3();

exports.handler = async (event) => {
  const form = multipart.parse(event, false)
  const s3_response = await upload_s3(form)
  return {
    statusCode: '200',
    body: JSON.stringify({ data: data })
  }
};

const upload_s3 = async (form) => { …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-s3 amazon-web-services node.js aws-lambda

3
推荐指数
1
解决办法
3940
查看次数