Создать буфер изображения из файла jimp-watermark - PullRequest
2 голосов
/ 08 января 2020

Ошибка при вызове метода getBuffer для jimp

Log UnhandledPromiseRejectionWarning: TypeError: image.getBufferAsyn c is не функция

Я пытаюсь прочитать изображение и затем изменить его размер, после чего я ставлю водяные знаки на изображение, но получаю ошибку, когда пытаюсь получить поток для загрузки цели

var options = {
    'ratio': 0.6,// Should be less than one
    'opacity': 0.6, //Should be less than one
    'dstPath' : './watermark.jpg'
};

Jimp.read("https://dqg5fqdy33g0r.cloudfront.net/photos/events/1566017111722/d0e17972Hl.jpg")
.then((image) => image.resize(1600, Jimp.AUTO))
.then((image) => watermark.addWatermark(image, 'https://dqg5fqdy33g0r.cloudfront.net/logos/spyne-logo/logo-white.png'))
.then((image) => image.getBufferAsync("image/jpeg"))
.then(async (data) => {
  const resp = await uploadToS3(data, "vendors/image2.jpeg", "image/jpeg")
  console.log(resp)
})

async function uploadToS3(data, key, ContentType) {
    console.log("Inside uploadToS3: ", data, key, ContentType)
    return s3
      .putObject({
        Bucket: Bucket,
        Key: key,
        Body: data,
        ContentType: ContentType
      }).promise();

  }
...