我在我的快速应用程序中提供了一条路线,该路线提供云文件的内容作为下载。我可以访问云文件的输入流,我想将其直接通过管道传输到响应的输出流中。但是,我使用的是 express,它似乎不支持输入流。
我希望我能做到这一点:
res.send (cloudInputStream);
但这不起作用。Express 的发送需要一个正文或一个缓冲区,但显然不是输入流。
既然是这种情况,我想做的是使用 res.setHeader() 设置标头,然后访问原始输出流,然后:
cloudInputStream.pipe (responseOutputStream);
这可能吗?
或者,我可以将读取输入流转换为缓冲区,并提供该缓冲区进行发送。但是,这会一次将整个云文件的内容读入内存,我想避免这种情况。
有什么想法吗?