ファイルを request.js から s3 に直接パイプしようとしています。以下のコードは、私が把握できた最も近いものです。実行されますが、s3 で終了するファイルは 0 バイトです。私は何を間違えていますか?
var request = require('request');
var AWS = require('aws-sdk');
var s3 = new AWS.S3();
request('https://placekitten.com/g/2000/2000')
.on('response', function(response) {
response.on('data', function(data) {
// this is getting called
console.log(data.length);
});
s3.upload({
Body: response,
Bucket: 'myBucket'
Key: 'foo.jpg',
// if ContentLength is set, the request just seems to hang?
// ContentLength: parseInt(response.headers['content-length']),
}, function(err, data) {
// no error, but zero byte file
console.log(err, data);
});
});
ネイティブの http/https モジュールを使用する簡単な方法があれば、それも問題ありません。