iOS开发之网络编程--3、NSURLSessionDataTask实现文件下载(离线断点续传下载),nsurlsession断点续传
投稿于 被查看 38266 次 评论:286
iOS开发之网络编程--3、NSURLSessionDataTask实现文件下载(离线断点续传下载),nsurlsession断点续传
前言:使用NSURLSessionDownloadTask满足不这个需要离线断点续传的下载需求,所以这里就需要使用NSURLSessionDataTask的代理方法来处理下载大文件,并且实现离线断点续传。
关于NSURLSessionDownloadTask的知识,可以请读者阅读本人的前篇:《iOS开发之网络编程--2、NSURLSessionDownloadTask文件下载》。
另外呢,因为NSURLSessionDownloadTask和NSURLSessionDataTask分别都是NSURLSessionTask的上层继承拓展。比如NSURLSessionDownloadTask在代理方法中内部实现了
将文件边下载边移存到沙盒中,而使用NSURLSessionDataTask就需要自己完成这个过程了,但是NSURLSessionDataTask可以实现离线断点续传。
实现离线的断点续传的基本思路:
1、比如应用程序下载15M的小视视频,但是下载到5M的时候这个程序可能是因为用户需要其退出或者是意外崩溃退出或者是断网了,导致还有10M没有下载成功。
2、为了能够在重新启动程序之后还能够继续下载剩下的10M,需要在程序继续下载的时候判断和读取本地缓存中是否存在已经下载的数据和数据长度,然后在该数据长度之后继续下载剩下的部分。
用于测试代码的API接口:http://120.25.226.186:32812/resources/videos/minion_02.mp4
1、NSURLSessionDataTask实现文件下载(未实现离线断点续传下载)
用户评论