七牛oc的SDK地址: http://developer.qiniu.com/docs/v6/sdk/objc-sdk.html
可以使用cocoaPods直接引入 pod "Qiniu", "~>7.0"
因为七牛有使用AFNetworking 和 HanekeSwift 库,所引入的时候要引入这两个
一般微信、微博SDK桥接,我们直接简单的这样就行了
但是七牛你这样导入 就会报错 , 一直说找不到文件。
你需要这样
现在好了,不报错了。满心欢喜的开始使用SDK, 我想上传本地相册的照片 , 用的PhotoKit拿到的是 PHAsset 对象 , 看了下官方的例子 :
一看就是传入NSData类型的数据,传入一个key ,继续很happy的将它转成swift的格式,info.statusCode 为200的时候是成功 。 然后根据自己的PHAsset拿到UIImage对象 , 将UIImage对象再转成NSData类型的对象。传入后返回statusCode 200很开心成功了。
然而 ,从服务器down下来 ,图片格式.81.223之类的,什么鬼不是成功了吗。。。。。
好吧,服务器返回的连接是乱的错得。 去看七牛的API ,原来有各种put的方法 putFile , putPHAsset 。。。。等等 。尼玛。还是太年轻呀。。
最后用了putPHAsset返回的连接还是错的,最后看api说key可以为nil,这样的话七牛随机生成,我传入了nil后,成功了。
token是从自己服务器上取嗒。问题终于解决了,关键是百度居然没搜到这样问题。还是我太年轻。。。记录下吧。
最近遇到的坑,后台返回的token和filename都没有问题,上传图片还是报code400,最后发现是因为后端申请七牛云的时候填写的服务器是华南区 而SDK里默认是华东区,导致上传失败。
步骤一:先搜索七牛SDK里的zone0(图一)
步骤二:查看后台申请的区域(图三)
步骤三:把(图二)中的zone2改成你对应的服务区区域。因为我是华南服务器,所以调用了zone2
上一篇文章介绍了“如何将图片上传到Cloudinary云平台?”但是由于Cloudinary的服务器在国外,所以上传和读取图片的速度会很慢,不适合用作生产,因此有必要再介绍一下国内广受欢迎的“七牛”云平台。以及分步骤给大家介绍如何使用七牛。
各位可以使用我的邀请链接注册: https://portal.qiniu.com/signup?code=3l7nsvonfkxn6
拜托!!!
我们这里添加的对象存储空间叫做“gougouavatar”
其中的ACCESS_KEY和SECRET_KEY两个参数来自于“个人中心”的“秘钥管理”模块:
_getQiniuToken()返回一个封装promise函数,这个函数调用了后台生成签名算法的接口;
这个函数的回调里拿到了后台生成的key和其他参数;
最后调用_upload方法向七牛的上传图片的接口地址: http://upload.qiniu.com ,发送请求,上传图片;
最后的响应参数response.key即为图片上传成功之后的地址。
如:deae507d-73fd-4489-9d7f-d5fa275bcbe5.jpeg
想要访问该图片,还需拼接上七牛提供的测试域名:
经过测试,使用七牛进行上传的速度确实很快,比国外的cloudinary要快上好几倍,使用体验还是很不错的,大家可以放心使用。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)