javascript - node.js 将 http 响应写入流

标签 javascript http node.js stream request

我正在通过 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/

相关文章:

javascript - Bacon.js 的评估模型是什么?

javascript - 文本区域中正确的换行符是什么?

python - 为 python 3 urllib 打开调试输出

node.js - 使用 Firebase 身份验证验证 ID token

javascript - 如何将参数从javascript发送到html表单

javascript - 从 MYSQL 数据创建 Google 折线图

json - 如何为 v3 YouTube API 上传构建 JSON 中的片段和状态

http - 在 DirectShow 中直播 H.264

javascript - 使用 WebStorm 以十六进制查看监 window 口中的变量

javascript - NodeJS 中 libxmljs 中的 RangeError