美文网首页
NSURLSession断点下载

NSURLSession断点下载

作者: 闲得一B | 来源:发表于2016-05-11 22:16 被阅读54次

    方式一:downloadTask+代理+resumeData的方式。

    当用户点击暂停时,调用
    [self.task cancelByProducingResumeData:^(NSData *resumeData){self.resumeData = resumeData;}];
    将resumeData保存起来,因为resumeData保存了下载信息。
    当用户点击继续是,调用
    self.task = [self.session downloadTaskWithResumeData:self.resumeData];
    用保存起来的resumeData继续下载。
    但是当程序闪退时:在
    -(void)applicationWillTerminate:(UIApplication *)application{}
    中保存这些信息,当时这个方法比较短暂。并且当下载信息很多时,这样不太合理。
    

    方式二:dataTask+代理+NSOutputStream写入文件的流对象。

    NSOutputStream用来写数据。
    通过请求获取文件的总长度@"Content-Length"。
    直接通过[self.task suspend]暂停下载。
    通过[self.task resume];
    当程序闪退时,通过获取到文件的长度,来配置Range的下载范围。
    

    相关文章

      网友评论

          本文标题:NSURLSession断点下载

          本文链接:https://www.haomeiwen.com/subject/jovurttx.html