前期准备
1.OSS对象存储开发文档
2.官方Demo
整理思路
需求分析
1.支持暂停任务和继续任务
2.支持后台下载或上传
业务逻辑
1.明确上传和下载要用到的请求类型
断点续传
OSSResumableUploadRequest
断点下载
OSSGetObjectRequest
,配合其range
属性
2.建立模型
UploadModel
DownloadModel
3.创建断点续传请求和断点下载请求的子类
ResumableUploadRequest
ResumableDownloadRequest
4.对于上传和下载的文件进行本地数据库缓存
FMDB
5.上传和下载状态
LoadState
6.创建下载管理类
LoadManager
7.创建代理
LoadManagerUploadDelegate
LoadManagerDownloadDelegate
8.绑定到界面
UITableViewController
UITableViewCell
业务流程
1.程序启动时
创建
LoadManager
单例
2.在LoadManager
构造方法中
实例化
OSSClient
对象
获取缓存的arrayOfUploadModel
,arrayOfDownloadModel
通过arrayOfUploadModel
创建arrayOfUploadRequest
通过arrayOfDownloadModel
创建arrayOfDownloadRequest
3.在上传列表界面和下载列表界面加载时
将
arrayOfUploadRequest
作为上传列表的数据源
将arrayOfDownloadRequest
作为下载列表的数据源
4.数据展示
在
cell
里声明request
属性, 将数据源的request
传递给cell
。
在cell
里通过request
的uploadModel
或者downloadModel
进行数据展示
5.上传和下载
在
LoadManager
中,通过request
创建对应的OSSTask
,使用OSSTask
进行上传和下载
在cell
中,点击按钮,根据相应的状态,通过request
来暂停任务或创建新的OSSTask
来执行任务