首页 > 代码库 > 网络编程之断点续传
网络编程之断点续传
》断点续传
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
网络编程之断点续传