当前位置:  开发笔记 > 编程语言 > 正文

大文件下载

如何解决《大文件下载》经验,为你挑选了2个好方法。

Internet Explorer的文件下载限制为4GB(IE6上为2 GB).Firefox没有这个问题(还没有测试过safari)(更多信息请访问:http://support.microsoft.com/kb/298618)

我正在开发一个网站,允许用户下载非常大的文件(最大和超过100GB)

不使用FTP,最好的方法是什么.最终用户必须能够使用HTTP从浏览器下载文件.我不认为Flash或Silverlight可以将文件保存到客户端,因为据我所知他们不会削减它.

我猜我们需要一个ActiveX或Java applet来解决这个问题.类似于MSDN使用的下载管理器.

有没有人知道这样做的商业(或免费)组件?我们不希望用户必须安装"浏览器范围"的下载管理器(如GetRight),我们希望它只能在我们的网站上下载.

更新:这里有一些额外的信息,以帮助澄清我正在尝试做什么.大多数4GB限制以上的文件都是大型高清视频文件(适用于视频编辑公司).这些将由用户通过互联网下载,这不会是本地网络上的人.我们希望文件可以通过HTTP获得(一些用户将会在防火墙之后,不允许使用FTP,Bittorrent等).这将是最终用户可以下载的文件库,因此我们不是在谈论一次性的大型下载.将定期下载不同的大型文件.

到目前为止,@ Edmund-Tay建议的Vault是迄今为止最接近的解决方案.唯一的问题是它不适用于大于4GB的文件(它在开始下载之前立即失败,它们可能在文件内容长度超过的某处使用32位整数).

一个java applet(或者因为问题只存在于IE中的ActiveX组件)就像@spoulson链接的文章一样,是最好的解决方案,但到目前为止,我还没有找到任何可以做到这一点的运气(多部分下载) ,简历等).

看起来我们可能要写自己的.另一种选择是编写与扩展或mime类型相关联的.Net应用程序(可能是ClickOnce).然后,用户实际上将从exe/ClickOnce应用程序中打开的Web服务器下载一个小文件,该应用程序告诉应用程序要下载哪个文件.这就是MSDN下载器的工作原理.然后,最终用户只需下载/安装一次EXE.这比每次下载大文件时下载exe都要好.



1> ceejayoz..:

@levand:

在这些情况下,作为用户,我的实际偏好是下载一个轻量级的.exe文件,为您下载该文件.

这对很多很多网站来说都是一个破坏者.用户要么或者应该非常不愿意从网站下载.exe文件并且不知不觉地运行它们.即使他们并非总是谨慎的,不谨慎的行为是值得我们鼓励作为负责任的开发商.

如果您正在处理公司内部网的某些事情,那么.exe可能是一个好的解决方案,但对于公共网络?没门.

@TonyB:

不使用FTP,最好的方法是什么.

对不起,我不得不问为什么要求.你的问题告诉我的是"在没有任何肉类或热源的情况下煮牛排的最佳方法是什么?" FTP就是为这类东西而设计的.



2> travis..:

bittorrent?

已经有一些基于Web的版本(bitlet,w3btorrent),而Azureus是使用java构建的,所以它绝对有可能.

编辑:@TonyB仅限于80端口?

推荐阅读
有风吹过best
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有