ここにあるこの質問からの回答に取り組んでいます ソケットをストリームにする方法? 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
})
})
})