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

Mai*_*tor 5 javascript browser html5 http

我有一个10mb +二进制文件,这是我的客户端工作所必需的.每次我的客户端访问该站点时,该文件都会大一点.因此,请考虑我的客户端在一天内访问该页面20次.与每次新访问一样,文件已经改变了一点,它不能被缓存,所以他将下载至少200mb - 即使在白天,文件只改变了0.1mb.

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

Mat*_*ock 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”方法,因为它可能允许您直接从服务器请求文件的各个范围。