继续在iPhone上中断的下载

我用NSURLConnection的从iPhone上的网页下载大文件。 我用的是“didReceiveData”的方法将数据追加到Documents文件夹中的文件。 它工作正常。

如果下载被中断(例如,由于用户按下了“家”的按钮),我希望能够继续下载下次用户启动我的应用程序,而不是从头开始!

任何人都可以帮我吗?

(顺便说一句,我喜欢这个网站,谢谢大家)

--------------解决方案-------------

ASIHTTPRequest具有使用方便支持断点续传:

http://allseeing-i.com/ASIHTTPRequest/How-to-use#resume

另外,找出多少数据你已经通过查看现有数据的大小下载,并设置了“范围”头在你的NSMutableURLRequest:

[request addValue:@"bytes=x-" forHTTPHeaderField:@"Range"];

..where x是在你已经对数据的字节数。 这将下载从字节x开始数据。 这个数据,你接受它,你就可以添加到您的文件。

请注意,您是从网上下载的Web服务器必须支持部分下载您试图下载资源 - 它发送,如果让接受-范围头。 通常不能恢复下载动态生成的内容(如,一个脚本在服务器上生成的页面)。

我能想到的唯一方法就是要打破你下载成更小的文件的文件。 您可以使用

- (void)connectionDidFinishLoading:(NSURLConnection *)connection

法,以确定何时该文件的每个部分完成后,并重新启动下载在未获取下载的最后部分。

看HTTP标准,看看你是如何形成的请求,开始从一个特定的偏移转移资源。 我找不到任何代码的副手,对不起。

分类:iphone 时间:2015-03-14 人气:0
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.927 (s). 10 q(s)