我怎样才能展示进步&下载速度

时间:2016-08-11 21:28:28

标签: javascript php

首先,谢谢你的帮助! 如何让文件首先下载到浏览器,之后只需弹出文件...例如http://mega.nz

我做了服务器端脚本php,它使用content-disposition标头以块的形式向浏览器发送文件,它可以工作!

但我想首先将其下载到浏览器并显示进度&速度。

英语不是我的主要语言......

2 个答案:

答案 0 :(得分:2)

这不是一个完整的答案,但我会尝试让你开始走正确的道路。

首先,您需要使用文件系统API将文件下载到浏览器缓存中。对于chrome,您可以在此处找到更多信息:https://developer.chrome.com/apps/fileSystem

API虽然扩展了HTML5,但您也可以在其他浏览器中执行此操作。有关详细信息,请参阅此文章:http://www.html5rocks.com/en/tutorials/offline/quota-research/#toc-desktop

现在这就是它在幕后的工作方式,就自己实施而言,请看FileSaver.js
来自他们的Github:

  

FileSaver.js在本机不支持它的浏览器中实现saveAs()FileSaver接口。有一个FileSaver.js演示,演示了如何保存各种媒体类型。

     

FileSaver.js是在客户端保存文件的解决方案,非常适合需要生成文件的webapp,或者用于保存不应发送到外部服务器的敏感信息。

这应该允许您定位任何现代浏览器以进行大文件下载,以及暂停和恢复下载。

您可能还想查看NodeJS,因为您可能已经在服务器应用程序中使用了一些软件包。

答案 1 :(得分:1)

Mega.nz的工作方式是使用FileSystem API。它将文件写入"缓存"在示例位置的系统上形成如下: AppData \ Local \ Google \ Chrome \ User Data \ Default \ File System \

这有什么好处?视觉上没有,除了它只是让人感觉下载不同的东西。

你是怎么做到的?这不是一件容易的事,请输入此代码,您就完成了!他们为此设置了云。我会先研究FileSystem。