如何向node.js/express'发送或获取其原始输出流提供输入流?

Jak*_*ake 4 stream node.js express

我在我的快递应用程序中提供了一个路由,它提供了云文件的内容作为下载.我可以访问云文件的输入流,我想将其直接传递到响应的输出流中.但是,我正在使用express,它似乎不支持输入流.

我希望我能做到这一点:

res.send (cloudInputStream);
Run Code Online (Sandbox Code Playgroud)

但这不起作用.Express'发送一个正文或一个缓冲区,但显然不是输入流.

既然如此,我想要做的是使用res.setHeader()设置标头,然后访问原始输出流,然后:

cloudInputStream.pipe (responseOutputStream);

这可能吗?

或者,我可以将输入流读入缓冲区,并提供要发送的缓冲区.但是,这会将整个云文件的内容一次性读入内存,我想避免这种情况.

有什么想法吗?

Jon*_*Ong 12

您需要做的就是cloudInputStream.pipe(res)设置标题后.