我的环境:Windows 8.1,NodeJS 0.10.0 请求 2.30.0
这是我根据 Amazon 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.readFile 时,而不是使用 fs.createReadStream ,如下所示,一切正常
fs.readFile('pic.png', function (err, data) {
request(
{ method: 'PUT'
, uri: url
, body: data
}
, function (error, response, body) {
}
);
});
请注意,我几乎一字不差地遵循了此处的流式传输示例https://github.com/mikeal/request 。
由于我想在多个地方使用流媒体,因此我很感激有关不正确之处的指示。