我的环境:Windows 8.1,0.10.0的NodeJS要求2.30.0的NodeJS - 上传使用fs.createReadStream,requestjs,流媒体和AWS S3 presigned URL抛出错误
这是一个基于亚马逊SDK样本是我的尝试和requestjs
var params = {Bucket:'myprivateuniquebucket'
,Key:'mykey'
,Expires: 60};
var url = s3.getSignedUrl('putObject', params);
fs.createReadStream('pic.png').pipe(request.put(url));
和文档,这是我
events.js:72
throw er; // Unhandled 'error' event
^
Error: read ECONNRESET
at errnoException (net.js:863:11)
at TCP.onread (net.js:524:19)
然而,而不是使用fs.createReadStream当我用fs.readFile像下面有史以来错误ything的工作只是罚款
fs.readFile('pic.png', function (err, data) {
request(
{ method: 'PUT'
, uri: url
, body: data
}
, function (error, response, body) {
}
);
});
注意我也跟着流例如这里https://github.com/mikeal/request几乎一字不差。
我很欣赏什么是不正确的指针,因为我想在多个地方使用流。
感谢您的解释。是否有可能与流媒体结合使用亚马逊多部分上传API。我对此很陌生,只是想了解是否可行,然后再投入时间。 – Newbie
@Newbie你也可以使用流媒体,你只需要先查看文件的大小并设置适当的长度。 – loganfsmyth