【发布时间】:2013-10-31 18:33:37
【问题描述】:
我的情况是,我必须通过 HTTP 协议从 Web 服务器下载大文件(最大 4GB):Apache 2.4.4。我尝试了几种方法,但最好的解决方案似乎是使用 X-SendFile 模块。
由于我为文件上传提供了进度条,因此我需要为文件下载提供相同的功能。所以这是我的问题:
- 是否有任何方法(包括变通方法)来实现文件下载进度监控?
- 是否有任何方法(包括解决方法)来计算文件下载传输速度?
- 有没有比使用 X-Sendfile 模块更好的方法从 Web 服务器提供高效的文件下载?
一般来说有没有更好的文件下载选项,可以让我监控文件下载进度?它可以是客户端 (JavaScript) 或服务器解决方案 (PHP)。是否有任何特定的网络服务器允许这样做?
目前我使用:
- Apache 2.4.4
- Ubuntu
非常感谢。
【问题讨论】:
-
您可以在 php 中使用 cURL。 stackoverflow.com/questions/13958303/…
-
您是否能够从服务器流式传输文件 - 或者您正在下载单个文件?
-
@web_bod,许多文件将从服务器下载。换句话说,文件下载和上传将是服务器的主要功能。由于我控制着服务器,我可以决定任何形式的文件下载。我尝试通过 PHP 下载,但这对文件大小和下载文件数量造成了限制。因此我尝试了看起来不错的 X-SendFile。但是,如果流媒体是要走的路,我会很乐意伪造 X-SendFile
-
@positlabs,cURL 看起来也很有趣。谢谢你的提示。由于我对 cURL 了解不多,所以我将研究它。我希望 cURL 不会对下载的文件大小或同时下载的数量造成障碍。
-
我会在周末为你画一些草图 - PHP 是你的首选语言吗?
标签: javascript php apache http x-sendfile