【问题标题】:Pausing a request for a Download Manager for iphone暂停对 iPhone 下载管理器的请求
【发布时间】:2011-09-07 01:34:38
【问题描述】:

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

谢谢

【问题讨论】:

标签: iphone objective-c download nsurlconnection download-manager


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    没有直接的方法可以暂停下载。这可以通过 HTTP 协议的 range header 来实现。

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

    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

    【讨论】:

      猜你喜欢
      • 2012-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-07
      • 1970-01-01
      • 2019-06-04
      • 1970-01-01
      相关资源
      最近更新 更多