如何让网站访问者下载大文件

时间:2014-07-31 09:49:26

标签: ftp download download-manager

允许网站访问者下载大小为数十GB的文件的最佳方法是什么?在这种情况下,它与电影文件有关,因此它们已经相对压缩了。

以下是一些假设:

  • 任何时候只有一位访问者想要下载文件,而且我们服务器以外的任何人都不会同时拥有该文件。

  • 由于网络问题或其他问题,传输很可能会中断,因此应该提供某种简历。

  • 访问者可以在网站上或通过电子邮件获得下载链接。

  • 至少应该对运行Windows或OS X的访问者起作用。如果它也适用于某些Linux发行版,那将是一个奖励。

我使用FTP和普通HTTP的经验是,有些访问者设法下载他们认为是整个文件的内容,但由于文件不完整或已损坏,因此无法正常工作。

在网站上打印md5金额或类似金额,并要求访问者在下载时运行md5,然后比较结果对于大多数网站访问者而言过于复杂。

压缩文件会增加一层错误检查和完整性检查,但通常会为访问者添加一些手动步骤。

有更好的解决方案吗?

1 个答案:

答案 0 :(得分:1)

我认为您在每个用户的封闭网站上都有自定义视频。如果是这种情况,您可能希望实现一个自定义下载管理器,它只执行您所描述的内容: 1.通过磁力链接抓取链接 2.下载文件并根据MD5hash进行检查 3.支持简历

一种简单的方法是使用像wget这样的外部工具来执行此操作。要使用-c选项继续wget,这里有一篇文章更详细地描述: http://www.cyberciti.biz/tips/wget-resume-broken-download.html 在此之后,您要检查md5sum,因为md5哈希位于名为filename.md5的文件中。这假设您的系统上有md5sum和wget。

wget -c urlToYourfile {file.avi,file.avi.md5}

md5sum -c * .md5

所以实际的代码只是一个简单的包装器,带有简单的安装程序就可以做到这一点。或者,这可以通过.bat脚本以一种不那么花哨的方式完成,它只是将脚本与url类型相关联,而不是以这种方式将jsut指定为url: mydownload://url/file.avi并设置浏览器来执行此操作...但如果您有多个随机用户,实际上更容易为磁链接制作一个简单的包装器并且瞧

祝你好运!