【发布时间】:2019-08-13 03:09:21
【问题描述】:
我正在我的一个小节点应用程序中通过 express 发送一个相当大的文件。由于文件太大,我以流的形式发送文件。
在正在下载文件的接收节点应用程序上,我非常希望能够跟踪下载进度。
SO question 使用 'content-length' 标头来确定文件的大小。但是在little 和research 之后,似乎在流式传输文件时无法提前知道内容长度。
我在这里有什么明显的遗漏吗?我有点惊讶,在下载完成之前无法知道正在流式传输的文件有多大...
【问题讨论】:
-
“以流的形式发送文件”到底是什么意思?它是一些 Node.js 功能吗? HTTP 本身没有“流式传输”的概念——它总是通过 TCP 进行“流式传输”——它只有两种不同的信号发送方式:
Content-Length(当您提前知道长度时)或Transfer-Encoding: chunked(当你不这样做时)。
标签: node.js http express stream content-length