我正在尝试从网址获取照片并将其传输到PUT链接,该链接上传到亚马逊s3存储桶.此PUT链接是预先签名的上传URL,因此需要发生的所有事情是PUT请求的正文需要包含照片数据. 我尝试过以下但
我尝试过以下但它似乎没有用 – 它似乎没有通过get中的任何数据.
var request = require('request'); request.get('https://SomeUrlThatRedirectsAFewTimes.com').pipe(request.put('https://mys3uploadlink.com'));使用AWS开发工具包,您可以将流作为上传主体传递.所以我只是将流保存到变量中,并将其作为正文传递.您可以看到此 here的文档.
我自己从未这样做过,但我假设你做的是这样的:
function upload(cb) { var s3 = new AWS.S3(...); var stream = request.get(myURL); stream.on('error', cb) .on('close', cb); var params = {Bucket: 'bucket', Key: 'key', Body: stream}; var options = {partSize: 10 * 1024 * 1024, queueSize: 1}; s3.upload(params, options, cb); }