如何在AWS S3中上传图像缓冲区数据?

2022-03-24 00:00:00 amazon-s3 image node.js aws-sdk javascript

我正在尝试将缓冲区数据从图像上传到S3。它上传得很好。但是当我尝试下载/查看S3中的图像时,它抛出一个错误。我已经尝试了以下几种方式-

  1. 我可以使用缓冲格式(JSON)的图像。我无法更改此设置
let image = { "type": "Buffer", "data": [45, 45, 45....]

let buf = new Buffer(image )

let params = {
  Bucket: "bucketName",
  Key: "TestImage123haha.PNG",
  Body: buf ,
  ACL: 'public-read',
  ContentType: 'image/jpeg'
};

s3.upload(params, function(err, data) {
  if (err) {
    console.log('ERROR MSG: ', err);
  } else {
    console.log('Successfully uploaded data' + data.Location);
  }
})

  1. 上传图片后,如果我尝试访问存储图片的存储桶的URL并查看图片,得到的结果是-

  1. 当我在控制台中打印缓冲区数据-buf时,我得到的是-


解决方案

此问题花了我很多天,但我能够解决它:

在您的API GATE函数lambda中,转到Configuration>;Binary Types。

添加多部分/表单数据

相关文章