Изменение размера изображения Nodejs Sharp и загрузка на S3 дает тайм-аут - PullRequest
0 голосов
/ 03 июня 2018

Ниже код не работает для меня, из-за этого возникает проблема с тайм-аутом при загрузке изображений в Amazon S3.

function resizeAndUploadToS3( imageData, imageHeader, bucket, key ) {
  return new Promise( ( resolve, reject ) => {
    sharp( imageData.data ).resize( 100, 100 ).toBuffer( function ( err, data ) {
      s3.putObject( {
        Bucket: bucket,
        Key: key,
        ACL: 'public-read',
        ContentType: imageHeader['content-type'],
        ContentLength: imageHeader['content-length'],
        Body: data
      }, ( err, status ) => {
        console.log( 'err:::', err );
        console.log( 'status:::', status );
        resolve( status );
      } );
    } );
  } );
}

Я пытался сохранить измененное изображение в локальном файле, используякод ниже и работает нормально

sharp( imageData.data ).resize( 100, 100 ).toFile('test.jpg');

Кроме того, я попытался загрузить изображения без с изменением размера до S3, и все работает нормально.В чем может быть проблема?

1 Ответ

0 голосов
/ 07 июня 2018

Я исправил это, удалив указанные строки из кода выше.

ContentType: imageHeader['content-type'],
ContentLength: imageHeader['content-length'],

Я думаю, что значение content-type и content-length было неверным в моемслучай.

...