0

ここにあるこの質問からの回答に取り組んでいます ソケットをストリームにする方法? imagemagick の後に https レスポンスを S3 に接続します。loganfsmyth の推奨事項に従って、req.end(image) 行にコメントを付けましたが、ファイルをアップロードしようとすると、サーバーがタイムアウトするだけです。req.end(image) 行のコメントを外すと、イメージが S3 に正常にアップロードされることを除いて、同様の動作が発生します。req.end(image) 行のコメントを外すのが正しい場合、誰かが正しい方法を明確にすることはできますか?

https.get(JSON.parse(queryResponse).data.url,function(res){

  graphicsmagick(res)
    .resize('50','50')
    .stream(function (err, stdout, stderr) {

      ws. = fs.createWriteStream(output)

      i = []

      stdout.on('data',function(data){
        i.push(data)
      })

      stdout.on('close',function(){
        var image = Buffer.concat(i)

        var req = S3Client.put("new-file-name",{
           'Content-Length' : image.length
          ,'Content-Type' : res.headers['content-type']
        })

        req.on('response',function(res){  //prepare 'response' callback from S3
          if (200 == res.statusCode)
            console.log('it worked')
        })
        //req.end(image)  //send the content of the file and an end
      })
  })
})
4

2 に答える 2