Internet Explorer 的文件下载限制为 4GB(IE6 为 2GB)。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 applet 或 ActiveX 组件,因为该问题仅存在于 IE 中,其工作方式类似于链接到的文章 @spoulson。但是,到目前为止,我还没有找到可以执行类似操作(多部分下载、恢复等)的解决方案。
看起来我们可能不得不自己写。另一种选择是编写与扩展或 mime 类型相关联的 .Net 应用程序(可能是 ClickOnce)。然后用户实际上会从 web 服务器下载一个小文件,该文件在 exe/ClickOnce 应用程序中打开,告诉应用程序要下载什么文件。这就是 MSDN 下载器的工作原理。然后,最终用户只需下载/安装一次 EXE。这比每次他们想下载一个大文件时都下载一个 exe 更好。