【问题标题】:Is there a way to know how large a file being streamed via http is?有没有办法知道通过 http 流式传输的文件有多大?
【发布时间】:2019-08-13 03:09:21
【问题描述】:

我正在我的一个小节点应用程序中通过 express 发送一个相当大的文件。由于文件太大,我以流的形式发送文件。

在正在下载文件的接收节点应用程序上,我非常希望能够跟踪下载进度。

SO question 使用 'content-length' 标头来确定文件的大小。但是在littleresearch 之后,似乎在流式传输文件时无法提前知道内容长度。

我在这里有什么明显的遗漏吗?我有点惊讶,在下载完成之前无法知道正在流式传输的文件有多大...

【问题讨论】:

  • “以流的形式发送文件”到底是什么意思?它是一些 Node.js 功能吗? HTTP 本身没有“流式传输”的概念——它总是通过 TCP 进行“流式传输”——它只有两种不同的信号发送方式:Content-Length(当您提前知道长度时)或Transfer-Encoding: chunked (当你不这样做时)。

标签: node.js http express stream content-length


【解决方案1】:

如果您通过 multipart/form-data 上传,您可以找到包含的内容长度。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-28
    • 1970-01-01
    • 2023-01-21
    • 1970-01-01
    • 2021-02-19
    • 1970-01-01
    • 2011-07-17
    • 1970-01-01
    相关资源
    最近更新 更多