的node.js写http响应于流(node.js write http response to s

2019-06-26 22:46发布

我结束HTTP的获取一些二进制数据。 我的代码如下所示:

var writeStream = fs.createWriteStream(fileName);
request(url, function(err, res) {
    res.socket.pipe(writeStream);
});

现在创建了输出文件,但文件大小为0的网址是否正确,虽然,我证实与wget的。

在此先感谢和问候

Answer 1:

回调http.request仅供一个参数,它是对一个参考响应所述请求的。 尝试

http.request(url, function(res) {
    res.pipe(writeStream);
});

还要注意的是, ClientResponse实现ReadableStream ,所以你应该使用.pipe而非.socket.pipe



Answer 2:

我假设这里request是从mikeal请求库,而不是实例http.request 。 在这种情况下,你可以简单地做request(url).pipe(writeStream);

请记住,为了调试的目的,你可以随时管道process.stdout



Answer 3:

 var readStream = fs.createReadStream(fileName); request(url, function(err, res) { readStream.pipe(res); readStream.on('end', function() { //res.end({"status":"Completed"}); }); }); 



文章来源: node.js write http response to stream