2016-08-03 4 views
2

を私は今request LIBと同じ絵を返すことができたURLから画像を取得するためにトリングていますし、その後その場で画像のサイズを変更する方法(表現およびS3)

var request = require('request'); 
    request 
      .get('s3url') 
      .on('response', function (response) { 
       console.log(response) // 200 
       console.log(response.headers['content-type']) // 'image/png' 
      }) 
      .pipe(res) 

を保存せずにその場でサイズを変更するのではなく、どのように私がすることができますそれを操作してから応答として返しますか?

+0

どのように解決できましたか?あなたはコードを提供してください – Matiishyn

答えて

4

1つの例をリサイズするnpmモジュールがいくつかあります:sharpです。この方法で使用することができます(APIドキュメントの例を参照)。

var transformer = sharp() 
    .resize(300) 
    .on('info', function(info) { 
     console.log('Image height is ' + info.height); 
    }); 

readableStream.pipe(transformer).pipe(res); 

readableStreamは元の画像のストリームになります。

+0

ありがとう! 'Jimp' https://github.com/oliver-moran/jimpでも同じことができますか? – Vladimir

+0

悲しいことに、「jimp」はストリームをサポートしていません。回避策なしでは使用できません。 – vincent

+0

'jimp'も非常に遅いです:http://sharp.dimens.io/en/stable/performance/ –

関連する問題