1

我的客户要求我能够上传非常大的文件。

我说的是 7 GB 的文件。他们当前运行的网站是一个 ASP.NET 4.0 应用程序,因此显然我的网络应用程序的标准上传方案无法正常工作。

我正在折腾多种选择,试图找出最好的路线是什么。

我正在考虑是否可以做的一个选择是拥有一个 BitTorrent 上传器。此应用程序的最终用户通常手头有相同的文件,因此最终用户会访问该站点,说他们想要上传文件。那时,他们会选择文件,然后服务器会立即将该人标记为该文件的种子。然后,我的 Web 应用程序会转到我们这边预先配置的leech ,并指示 leech 下载文件。我希望在此过程期间或之后的某个时刻,torrent 会发挥一些魔力,以在客户端网络或任何地方找到其他播种机,但这就是想法。

是否已经有任何技术可以做到这一点?还是我在描述我必须从头开始构建的东西?

4

1 回答 1

3

听起来使用 BitTorrent 做到这一点并不容易。为了使 BT 工作,您需要 torrent 文件。为了为特定文件创建 torrent 文件,您需要该文件(torrent 文件基本上包含文件的哈希)。通常,对于洪流,您需要一个跟踪器。你可以依赖一个公共的,但这可能是一个有风险的依赖。您可以自己操作,但这还有其他挑战(首先,您必须确保它被锁定,这样它就不会成为所有最新电影、音乐和电视的免费平台)。

假设您有一个跟踪器,那么您需要协调 torrent 的下载。您的用户将不得不创建 torrent 文件,这是一个额外复杂的步骤,然后可能通过通常的 HTTP 方法上传它们。除了让用户上传种子之外,您还必须提醒用户开始在他们选择的客户端中播种种子。然后,您希望自动开始提取 torrent(同样,这里的安全问题 - 如果用户为最新一集的 House 上传完全不相关的 torrent 怎么办?)。除了安全问题,这可能是最简单的部分——大多数 torrent 客户端可以配置为监视一个目录并自动开始下载该目录中的 torrent 文件。开始下载后,

这一切都可以工作,但是如果没有大量的定制工作,对于您的用户来说,这将是一个复杂的过程,而且很可能超出他们的范围。显然我不知道你的具体要求,但我会考虑更传统的文件传输协议,比如 FTP .....

于 2011-01-25T14:44:32.713 回答