带有进度信息的大文件下载(浏览器缓冲问题)

时间:2018-09-28 20:29:24

标签: javascript browser download xmlhttprequest buffering

在JavaScript中,我看到了如何通过XHR请求下载文件的几种实现方式。

这里还存在一些古老的问题,例如How to prevent XMLHttpRequest from buffering the entire response,但尚未解决。

我的目标:

  1. 不缓冲响应。
    • 我需要加载非常大的文件。
    • createObjectURLnew Blob不是选项,只需直接从响应开始就直接将服务器响应写入设备磁盘。
  2. 显示浏览器的本机下载进度状态(理想情况下为已加载百分比/总计)。
    • 来自服务器的粗略响应无法帮助我显示进度状态。仍然要缓冲整个响应,然后创建一个Blob。

我知道有可能是因为Google云端硬盘已经证明了-您可以单击下载按钮(而不是链接),然后将开始下载文件,并且您会看到进度屏幕底部的状态:

download status in Chrome from Google Drive

至少可以看到不确定的进度,还能怎么做?

您知道Google团队的工作方式吗? 也许我必须使用不同于XHR的东西?

请分享您的想法/实施方式。

0 个答案:

没有答案