如何提供持续,逐步更新到客户端的10mb +文件?

时间:2014-01-22 06:42:19

标签: javascript html5 http browser

我有一个 10mb +二进制文件,这是我的客户工作所必需的。每次我的客户端访问该站点时,该文件都会大一点。因此,请考虑我的客户端在一天内访问该页面20次。与每次新访问一样,文件稍有变化,无法缓存,因此他会下载至少200mb - 即使白天文件仅更改了0.1mb

有没有办法避免巨大的带宽浪费?

1 个答案:

答案 0 :(得分:2)

在服务器上,您可以将文件分成块,并让ajax下载块并将它们作为单个文件组装到浏览器中,然后偶尔检查服务器以查看哪些文件块需要更新,并修补文件这是在浏览器中更新的块。本质上是浏览器中rsync的简单实现。

使用javascript处理二进制数据非常棘手,因此您可能会发现这些库和代码链接很方便:

https://github.com/jDataView/jDataView/

http://www.html5rocks.com/en/tutorials/webgl/typed_arrays/

https://gist.github.com/fbuchinger/674212

请参阅“Ox.getChunked”方法,因为这可能允许您直接从服务器请求文件的各个范围。