Nodejs Sharp Image Resize并上传到S3会超时

时间:2018-06-03 11:55:22

标签: node.js amazon-s3 sharp

以下代码对我不起作用,在将图像上传到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 :(得分:0)

我通过从上面的代码中删除给定的行来修复它。

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

我认为内容类型内容长度的价值在我的情况下是错误的。