【发布时间】:2013-04-22 14:55:09
【问题描述】:
如何在我的应用程序中实现从 HTTP 下载大文件(~500MB)?我想支持自动恢复/重试,这样当连接断开时,我的应用程序可以尝试重新连接以获取文件并避免重新下载下载的部分,如果可能的话(我知道,这也取决于服务器)。
这类似于下载管理器和某些浏览器中的行为。
【问题讨论】:
-
你应该知道的是,是否可以恢复下载是由服务器决定的
-
@RanhiruCooray 是的,我知道这一点。我的问题是如何在服务器允许时恢复
-
您必须自己请求正确的范围。甚至新的闪亮
Http.Client也不会自动执行此操作:blogs.msdn.com/b/webdev/archive/2012/11/23/…(除非您找到专用的文件下载库。) -
@millimoose 也许我误解了什么,但似乎该链接是关于在服务器中提供恢复功能的?
-
@LouisRhys 它描述了协议的双方,任何一方都必须意识到这一点。 IE。你发出一个
Range请求,然后得到你想要的范围的Content-Range响应,或者你得到一个包含整个资源的“正常”响应。无论如何,这只是一个概述,您还必须查看 HTTP 规范或有关该主题的其他文章。