【发布时间】:2015-06-17 21:38:16
【问题描述】:
如何使用 request 下载文件内容并使用 aws-sdk for node 将其直接流式传输到 s3?
下面的代码给了我Object #<Request> has no method 'read',这使得请求似乎没有返回可读流......
var req = require('request');
var s3 = new AWS.S3({params: {Bucket: myBucket, Key: s3Key}});
var imageStream = req.get(url)
.on('response', function (response) {
if (200 == response.statusCode) {
//imageStream should be read()able by now right?
s3.upload({Body: imageStream, ACL: "public-read", CacheControl: 5184000}, function (err, data) { //2 months
console.log(err,data);
});
}
});
});
根据aws-sdk docs Body 需要是ReadableStream 对象。
我在这里做错了什么?
这可以使用s3-upload-stream 模块完成,但是我更愿意限制我的依赖项。
【问题讨论】:
-
req在哪里/如何定义? -
@mscdex 问题已更新以反映 req
标签: node.js amazon-s3 aws-sdk requestjs