首页 > 代码库 > 网络编程之断点续传

网络编程之断点续传

》断点续传

1 在start方法中创建NSURLSession,并且绑定代理,注意不能使用block代码,否则不执行代理方法


2 开始下载,利用nsurlsession对象创建下载任务task

暂停下载,获取resumeData,resumeData中包含继续下载的开始位置信息

恢复下载,从resumeData中获取断点信息,继续下载


3 实现三个必要的代理方法,在代理方法中获取下载信息

在监控任务下载的代理方法downloadTask中写文件到沙盒


在 代理方法中更新UI视图(进度条)


在结束下载的代理方法中



》任务类型

1 NSURLSessionDataTask

用途:用于非文件下载的get/post请求

可以使用block和代理两种方法实现

需要设置请求头可以使用dataTaskWithRequest


2 NSURLSessionDownloadTask

用途: 用于文件下载,大小通吃

可以使用block和代理两种方法实现



》文件上传(略过)


根据url获取MIMEType



》多文件压缩上传

0 使用zip库,动态库需要在项目设置中手动添加

1 创建一个zip压缩文件

2 获得需要压缩的文件夹

3 压缩整个文件夹路径

4 上传压缩文件


》下载zip解压缩




第三方框架


AFN

》AFNetwork,对NSURLConnect和NSURLSession的封装

》运行效率没有ASI高,但开始使用比较简单

》使用AFN2.0

》AFHTTPRequestOperationManager


》下载实例

1 创建请求操作管理器,


2 设置参数字典


3 发送get请求


4 解析返回数据responseObject,默认返回json数据,需要返回其它类型(XML、文件等)通过responseSerializer属性设置

JSON、XML、Data


》拍照上传实例


判断相机是否可用




ASI


几乎所有HTTP服务器都支持文件下载断点续传

几乎所有HTTP服务器都不支持文件上传断点续传,上传续传可以使用Scoket












网络编程之断点续传