美文网首页iOS开发那些事iOS日常知识储备iOS Developer
iOS 手把手教你封装基于七牛的上传类

iOS 手把手教你封装基于七牛的上传类

作者: 悟_空 | 来源:发表于2016-04-18 16:28 被阅读2689次

    老大让封装一个新的上传类,目前公司用的是七牛的云存储,就基于七牛sdk封装了一个,上代码。

     七牛sdk要使用到AFNetworking,用Cocoapods 就能搞定这两个库的引入。

    首先我们设计一下我们的上传类,我准备使用OC写,这个类是个单例,所以有一个单例初始化方法,有三个代理事件如下:

    代理方法 初始化方法及对象方法

    接下来就是.m 的实现过程,

    头文件的引入、属性列表与单例实现 从服务器获取七牛token并准备上传

    上传实现如下

    上传进度、取消上传实现 七牛代理方法以及懒加载 取消上传、继续上传 辅助方法实现 UploadFile.h

    写到这里,我们的上传类基本功能都已经实现了,下面我说说其中需要注意的地方。

    1,我在回调代理方法的时候在主线程中执行是因为七牛这个上传是在子线程中执行的,如果我们想在代理事件中改变我们的UI,必须在主线程,于是我这样写。

    2,如果我们想要实现后台上传的话,可以在Appdelegate中保持一个UPloader的单例,在我们的控制器中调用上传,因为如果我们在ViewController中保持的话,在ViewController消失被销毁的时候,我们的UPLoader 也不会被保持,这样,上传进度就会变成0;也就不能实现后台上传的功能。

    3,这里的UPloadFile可以写在我们的UPLoader 里面,不用再单独创建一个类。

    4,上面有一个 头文件的引入标注有错误,因为其实 七牛SDK的头文件在.h中引入的,截图时没注意。

    5,源代码百度云链接: http://pan.baidu.com/s/1pKLUJDx 密码: whev

    相关文章

      网友评论

      • wahkim:你好 请问自定义参数 上传时报错code=401 error=bad token 是怎么原因造成的
        wahkim:@悟_空 是的
        wahkim:@悟_空 是的 !!!还有个问题就是QNUploadOption里的传进去的参数是NSInteger 和array 类型的,这两种数据类型怎么传进去。七牛内部判断参数都是string 类型的
        悟_空:你的token是从服务器请求的吗?
      • 楷然_:我退到后台然后调用继续下载进度不跑了, 回到app调用继续下载就好使
      • WilliamChou_:#import "RAYHttpAPI.h" 报错诶
      • WilliamChou_:大神大神 请问拍摄的视频怎么传呢。。就是小视频。。现拍现传。。:disappointed_relieved:
      • 锦箫_1:您好,我想问一下,那个Token值咱们咋弄啊
        我主要是不会那个
        悟_空:@锦箫_1 服务器返回的,需要服务器配合,首先要到服务器请求一个 上传token
      • 蓝天大海:这个支持视频的断点续传吗
      • 酸三角:哥们,我不要封装 官方文档表示看不懂啊 怎么上传图片和文件啊
        e0c84f3c73bb:@悟_空 写的还是可以的:smile:
        悟_空:@酸三角 这篇文章 写的比较详细了,你只要下载七牛SDK 跟着封装就行了,你的图片 和文件 转换成 NSURL 用封装好的方法就能上传了啊,封装好之后视频、图片 等资源都是可以上传的
      • Trowa:能不能发一下源码:yum:
        悟_空:@littleBit 好的 代码有所更新 增加了新方法,
        百度云链接: http://pan.baidu.com/s/1pKLUJDx 密码: whev

      本文标题:iOS 手把手教你封装基于七牛的上传类

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