0

我正在编写一个实用程序,允许用户从我的服务器下载大文件。我需要用户能够灵活地通过单击按钮来暂停和恢复下载请求。我正在使用 ASIHTTPRequest 库,但是它不提供任何 API 来暂停请求。(有恢复下载请求的例程)。是取消下载请求的唯一方式来暂停请求。

谢谢

4

2 回答 2

0

大多数服务器都支持 HTTP 范围标头。您可以使用它来指定您在恢复时请求的偏移量。

于 2011-09-06T17:20:57.793 回答
0

没有直接的方法可以暂停下载。这可以使用 HTTP 协议的范围标头来实现。

阅读这里了解详情....

http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.16

在请求标头中设置范围属性即可。要了解如何在您正在使用的库中设置请求标头,请阅读文档。

以下将是在范围内传递参数的方式。

NSString* range = @"bytes=";
range = [range stringByAppendingString:[[NSNumber numberWithInt:offset] stringValue]];
range = [range stringByAppendingString:@"-"];
[request setValue:range forHTTPHeaderField:@"Range"];

如果要使用 abuve 代码,请使用 NSMutableRequest 和 NSURLConnection

于 2011-09-06T17:21:30.167 回答