我正在通过 http 获取一些二进制数据。我的代码如下:
var writeStream = fs.createWriteStream(fileName);
request(url, function(err, res) {
res.socket.pipe(writeStream);
});
现在输出文件已创建,但文件大小为 0。不过,url 是正确的,我用 wget 验证了这一点。
提前致谢并致以最诚挚的问候
最佳答案
http.request
的回调只提供一个参数,它是对 response 的引用。的请求。试试
http.request(url, function(res) {
res.pipe(writeStream);
});
还要注意 ClientResponse
实现了 ReadableStream
,所以你应该使用 .pipe
而不是 .socket.pipe
。
关于javascript - node.js 将 http 响应写入流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11906198/