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

Bou*_*Dev 6 javascript image amazon-s3 node.js aws-sdk

我正在尝试将图像中的缓冲区数据上传到 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);
  }
})
Run Code Online (Sandbox Code Playgroud)

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

回复

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

在控制台中打印缓冲区数据的结果

and*_*web 1

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

在函数 lambda 的 API GATE WAY 中,转到配置 > 二进制类型。

在此输入图像描述

添加多部分/表单数据