Ссылка на изображение, загруженное в корзину S3, не отображает изображение - PullRequest
0 голосов
/ 22 сентября 2018

Привет, я новичок в AWS Lambda и S3.Я пытаюсь создать API, который позволит мне загрузить изображение.У меня есть следующий лямбда-код для загрузки файла.После загрузки я вижу, что размер файла правильный, но файл поврежден.

let encodedImage = event.body;
console.log(encodedImage);
let decodedImage = Buffer.from(encodedImage, "binary");
console.log(decodedImage.length);

const filePath = `${Date.now()}.jpg`;
const params = {
    Bucket: "manufacturer-theme-assets",
    Key: filePath,
    "Body": decodedImage,
    ContentType: "image/jpeg",
    ACL: "public-read"
};
s3.putObject(params, (err, data) => {
    if (err) {
        callback(err, null);
    } else {
        let response = {
            statusCode: 200,
            "body": JSON.stringify(data)
            "isBase64Encoded": false
        };
        callback(null, response);
    }
}); 

1 Ответ

0 голосов
/ 22 сентября 2018

Убедитесь, что вы используете соответствующий тип содержимого для изображения, и, пожалуйста, поделитесь ссылкой на поврежденное изображение с S3 или ошибкой, которую вы получаете при открытии файла

В противном случае попробуйте это первое место и проверьте:

const filePath = `${Date.now()}.jpg`;    
var params = {
      ACL: "public-read", 
      Body: "decodedImage", 
      Bucket: "manufacturer-theme-assets", 
      Key: filePath
     };
s3.putObject(params, function(err, data) {
      if (err) console.log(err, err.stack); // an error occurred
      else     console.log(data);           // successful response
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...