是否有任何合理的方法可以让 webapp 的用户下载大文件?我正在寻找浏览器内置下载对话框以外的其他内容 - 要求是用户从浏览器启动下载,然后其他一些应用程序接管,在后台下载文件并且在浏览器运行时不退出关闭。它可能在 http、ftp 甚至 bittorrent 上工作。平台独立性将是一件好事,但我最关心的是 Windows。
5 回答
这可能适用于 BitTorrent。它使用单独的程序(在大多数浏览器中)工作,并且在浏览器关闭后仍会运行。不是完美匹配,但可以满足您的大部分需求。
也许BITS适合你?
后台智能传输服务目的
后台智能传输服务 (BITS) 在客户端和服务器之间传输文件(下载或上传),并提供与传输相关的进度信息。您还可以从对等点下载文件。
适用的地方
将 BITS 用于需要:
在前台或后台异步传输文件。保持其他网络应用程序的响应能力。在网络断开和计算机重新启动后自动恢复文件传输。开发者受众
BITS 专为 C 和 C++ 开发人员设计。
仅限 Windows
看看这个: http: //msdn.microsoft.com/en-us/library/aa753618 (VS.85).aspx
虽然它只适用于 IE。
另一种方法是为 IE 编写一个 BandObject,它连接所有链接并启动您的应用程序。 http://www.codeproject.com/KB/shell/dotnetbandobjects.aspx
试试freeDownloadManager。它确实与 IE 和 Firefox 集成。
根据文件的大小,几乎所有的网络浏览器都有内置的下载管理器。只要放一个文件的链接,当用户点击时,浏览器就会接管。你可以简单地推荐人们安装一个下载文件之前的下载管理器,链接到推荐的 Windows/Linux/OS X 的免费客户端。
根据文件的大小,可以选择 Bittorrent。.torrent
当人们在独立于浏览器的单独下载客户端中打开文件时,您将提供一个文件。
有一些缺点,主要取决于您的目标受众:
- 公司或学校网络很少允许使用 Bittorrent
- 它可能很难使用(因为它对很多人来说是一个新概念).. 例如,如果有人没有安装 torrent 客户端,他们会得到一个无法打开的小文件,这可能会令人困惑
- NAT/端口转发/防火墙的问题很常见
- 您必须使用运行种子跟踪器,并为文件播种
...但是,也有好处 - 主要是减少服务器上的带宽使用,因为人们下载文件时也会播种。