Node.js 从节点中的远程位置创建读取流

Node.js 从节点中的远程位置创建读取流,node.js,filestream,Node.js,Filestream,我正在尝试从节点中的远程url提取csv文件并使用 来解析它。我正在使用请求库获取文件,但无法将其转换为可读流,以便将其发送到csvtojson。抱歉,这是typescript,但它应该是可解释的。 如果我这样做 request.get("http://myurl.com", (err, response, body) => { console.log(body); }); 一些看起来像文件被打印出来的东西,但我无法将其转换为可写流。这当然不是我可以发送到csvtojson的任何

我正在尝试从节点中的远程url提取csv文件并使用 来解析它。我正在使用请求库获取文件,但无法将其转换为可读流,以便将其发送到csvtojson。抱歉,这是typescript,但它应该是可解释的。 如果我这样做

request.get("http://myurl.com", (err, response, body) => {
    console.log(body);
});
一些看起来像文件被打印出来的东西,但我无法将其转换为可写流。这当然不是我可以发送到csvtojson的任何内容。
我知道你可以创建这样的writestream

request('http://google.com/doodle.png').pipe(fs.createWriteStream('doodle.png'))

但这对我没有多大好处,因为我只想获取csv并解析它,而不是编写它。

根据它的文档,
csvtojson
支持流(文档中有它的示例)。所以你可以做一些类似的事情:

var request = require('request');
var Converter = require('csvtojson').Converter;

request('http://example.org/foo.csv')
  .pipe(new Converter({constructResult:true}))
  .on('end_parsed', function(jsonObj) {
    console.dir(jsonObj);
  });

我尝试了这个精确的答案,结果设置为false,但对我无效。结果是,当constructResult设置为false时,它将返回一个空对象,这使我认为没有任何东西被传输到函数。非常感谢。