美文网首页
ios断点续传思路整理

ios断点续传思路整理

作者: 顺其sun自然 | 来源:发表于2015-11-18 10:49 被阅读688次

设置断点续传的思路:

1获取文件下载路径下的文件大小,如果大小大于0,说明文件已经接收过或者接收完成。文件大小等于0的情况,文件正常下载。

2改变请求数据的位置,从当前文件的末尾开始下载。

NSString *requestRange = [NSString stringWithFormat:@"bytes=%llu-", downloadedBytes];

[request setValue:requestRange forHTTPHeaderField:@"Range"];

3设置NSURLSession,准备下载。

NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];

NSOperationQueue *queue = [[NSOperationQueue alloc]init];

self.session = [NSURLSession sessionWithConfiguration:sessionConfiguration delegate:self delegateQueue:queue];

NSURLSessionDataTask *dataTask = [self.session dataTaskWithRequest:request];

[dataTask resume];

关于NSURLSession:NSURLSession的较详细教程

4此时数据开始下载,调用URLSession的delegate可以监听这个过程,因为数据是为一个个包的形式传输的(不知道理解的对不对),所以每次收到一个包需要移动节点到文件末尾然后继续写数据。

- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data;

//向文件追加数据

NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:self.targetPath];

[fileHandle seekToEndOfFile]; //将节点跳到文件的末尾

[fileHandle writeData:data];//追加写入数据

[fileHandle closeFile];

5通过比对本地路径的数据大小与要下载的文件大小,判断文件是否下载完成。

以下是一个大神在最近10月份写的断点续传类,写的很好也很详细,正在研究中。


参考自大神的断点续传博客

相关文章

  • ios断点续传思路整理

    设置断点续传的思路: 1获取文件下载路径下的文件大小,如果大小大于0,说明文件已经接收过或者接收完成。文件大小等于...

  • iOS将文件切片储存并上传仿断点续传机制

    iOS将文件切片储存并上传仿断点续传机制 iOS将文件切片储存并上传仿断点续传机制

  • iOS开发!知识点!汇总

    一.断点续传相关 1.iOS模仿断点机制上传文件实现方法 2.iOS多任务断点续传之"框架"封装 二.有关硬件支持...

  • iOS Session 断点续传出错

    iOS Session 下载 ,在iOS 11 下断点续传总是时好时坏,对比iOS10和iOS11 的 resum...

  • swift3 iOS断点续传下载工具

    XCDownloadTool for iOS swift3 iOS swift 断点续传下载工具,重启APP恢复临...

  • 2week-homework

    总结 代码 总结 1. 断点续传 思路也主要是逻辑上的,不是真正网络的断点续传,而是在Table-1:link_l...

  • iOS断点续传

    基于iOS10、realm封装的下载器(支持存储读取、断点续传、后台下载、杀死APP重启后的断点续传等功能)。下载...

  • 数字签名

    最近学习了一下iOS代码签名机制 ,这里做个笔记记录,整理思路,加深理解。 本文仅对签名本身进行讲解,iOS代码签...

  • NSURLSessionDataTask实现文件下载(实现离线断

    NSURLSessionDataTask实现文件下载(实现离线断点续传下载) 编程思路实现细节:根据文件名拼接沙盒...

  • iOS 下载功能(断点续传)

    我们来看看如何自己简单的实现一个断点续传的功能,思路如下: 思路步骤:1.文件的存放 1.1 如果正在下载,放...

网友评论

      本文标题:ios断点续传思路整理

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