流式传输文件而不下载

Streaming file without downloading it

本文关键字:下载 文件 传输      更新时间:2023-09-26

如果我有一个大的图像,例如(50MB+),我想把它加载到一个Node.js页面从外部URL,我怎么能呈现页面和流文件到客户端,没有保存到服务器或必须等待它完全下载显示页面之前?

到目前为止,我找到的所有例子都依赖于这样的东西:

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

这要求文件在输出之前被保存。我怎么能直接流媒体播放而不是下载呢?

您从express获得的res对象是http.ServerResponse对象,这意味着您可以直接流式传输到它:

request('http://google.com/doodle.png').pipe(res);