Node.js 节点中远程文件的fs.createReadStream()等效项

Node.js 节点中远程文件的fs.createReadStream()等效项,node.js,Node.js,对于远程文件,节点中是否有与fs.createReadStream()等效的方法?按如下方式使用将引发未处理的“错误”事件 var s = fs.createReadStream('some_mp3_url'); 节点不是PHP:) 使用模块: 使用request()之类的模块可能更好,但您可以这样做: ES6版本 http.get('some_mp3_url', res => res.pipe(fs.createWriteStream('some.mp3'))); http.get(

对于远程文件,节点中是否有与fs.createReadStream()等效的方法?按如下方式使用将引发未处理的“错误”事件

var s = fs.createReadStream('some_mp3_url');
节点不是PHP:)

使用模块:


使用request()之类的模块可能更好,但您可以这样做:

ES6版本

http.get('some_mp3_url', res => res.pipe(fs.createWriteStream('some.mp3')));
http.get('some_mp3_url', function (res) {
  res.pipe(fs.createWriteStream('some.mp3'));
});
ES5版本

http.get('some_mp3_url', res => res.pipe(fs.createWriteStream('some.mp3')));
http.get('some_mp3_url', function (res) {
  res.pipe(fs.createWriteStream('some.mp3'));
});

注意:除了
fs
,还必须导入/需要
http
(或
https
)模块。

“节点不是PHP”-你创造了我的一天:-)你如何将结果保存到原始问题中的一个变量中?这看起来几乎与
请求
语法相同-为什么
请求
比普通节点.js更好?一个例子:http/https处理。在上面的示例中,您需要自己执行此操作。ˋhttpˋ模块不处理https。ˋrequestˋ为你做这件事。还有很多其他的用例,它提供了显著的额外价值。是的,但是我不喜欢有22个依赖项,谢谢。我认为在跳转到请求模块之前,你应该考虑一下不使用本机http请求的原因。截至目前,请求模块存在+600个问题,其中一个问题正在影响我的应用程序的生产。切换回本机http请求解决了我的问题。我喜欢控制正在发生的事情,而不是依赖依赖依赖性一直玩得很好,我想你的意思是你想要一个包含远程文件内容的字符串?这不是原始问题的一部分。我想把它作为一个单独的问题发布,但是你可以在Node.js文档中找到答案。