大文件下载
Internet Explorer 的文件下载限制为 4GB(IE6 上为 2 GB)。Firefox 没有这个问题(还没有测试 Safari) (更多信息在这里: http://support.microsoft.com/kb/298618)
我正在开发一个允许用户下载非常大的文件(最多和超过100GB)的网站
在不使用FTP的情况下执行此操作的最佳方法是什么。最终用户必须能够使用 HTTP 从该浏览器下载文件。我不认为Flash或Silverlight可以将文件保存到客户端,所以据我所知,他们不会削减它。
我猜我们需要一个ActiveX或Java小程序来实现这一目标。类似于 MSDN 使用的下载管理器。
有谁知道一个商业(或免费)组件可以做到这一点吗?我们不希望用户必须安装“浏览器范围”下载管理器(如GetRight),我们希望它只能在我们的网站上下载。
更新:以下是一些其他信息,可帮助阐明我正在尝试执行的操作。超过4GB限制的大多数文件都是大型高清视频文件(适用于视频编辑公司)。这些将由互联网上的用户下载,这不会是本地网络上的人。我们希望文件可以通过HTTP获得(一些用户将位于防火墙后面,而防火墙将不允许FTP,Bittorrent等)。这将是最终用户可以下载的文件库,因此我们不是在谈论一次性大下载。将半定期下载不同的大文件。
到目前为止,@Edmund-Tay建议的Vault是最接近的解决方案。唯一的问题是它不适用于大于4GB的文件(在开始下载之前它会立即失败,它们可能在某个地方使用了32位整数,该整数被文件的内容长度超过/溢出)。
最好的解决方案是java小程序或ActiveX组件,因为问题只存在于IE中,就像@spoulson链接到的文章一样工作。但是,到目前为止,我还没有找到一个可以做类似事情的解决方案(多部分下载,简历等)。
看起来我们可能不得不写自己的。另一种选择是编写与扩展名或 mime 类型关联的 .Net 应用程序(可能是 ClickOnce)。然后,用户实际上将从在exe / ClickOnce应用程序中打开的Web服务器下载一个小文件,该应用程序告诉应用程序要下载什么文件。这就是 MSDN 下载程序的工作方式。然后,最终用户只需下载/安装一次 EXE。这比每次他们想要下载大文件时下载exe要好。