node js resize png не работает только на aws lambda

#node.js #sharp

#node.js #резкое

Вопрос:

         var newImage = await sharp(originalBuffer).resize(newWidth, newHeight, {
            fit: sharp.fit.inside,
            withoutEnlargement: true
        });
        console.log(`after resize before to buffer ${typeof newImage} `, newImage)

        // works on localhost mac but not on aws lambda
        // https://github.com/lovell/sharp/issues/2085#issuecomment-587187740        
        newImage = await newImage.toBuffer();
  

ошибка заключается в
Error: undefined Input buffer contains unsupported image format Error: Input buffer contains unsupported image format

используется express-fileupload для загрузки файлов. не думаю, что это здесь уместно. также пробовал multer

Я много исследовал и не нашел решения

Ответ №1:

Я не уверен, но если функция lambda связана с api gateway, перед запуском sharp вам нужно просмотреть журнал консоли при отправке данных в функцию. Он не будет поврежден или совпадает с вашими данными? Иногда мы не можем получить тело запроса Api gateway из функции. Попробуйте отправить с заголовком приложения / json или данными формы.