TestsTested | ✓ |
LangLanguage | Obj-CObjective C |
License | MIT |
ReleasedLast Release | Feb 2016 |
Maintained by upyun-ios.
UPYUN Fusion iOS SDK, 集成:
1.直接下载, 引入 UPYUNSDK
文件夹, 然后 CocoaPods
pod 'AliyunOSSiOS', '~> 2.2.0'
, 之后 #import "UpYun.h"
即可使用
2.使用cocoapods, pod 'UPYUNFusion', '~> 1.0.0''
, 之后 #import "UpYun.h"
即可使用
注: 该项目依赖 AliyunOSSiOS
在 UPYUNConfig.m
中可以对 SDK 的一些参数进行配置, 也可以通过 [UPYUNConfig sharedInstance].DEFAULT_BUCKET
来进行修改
DEFAULT_BUCKET
: 默认空间名(必填项), DEFAULT_PASSCODE
: 默认表单 API 功能密钥 , 用户从服务端获取 signature
则无须填写DEFAULT_EXPIRES_IN
: 默认当前上传授权的过期时间,单位为“秒” (必填项,较大文件需要较长时间)DEFAULT_RETRY_TIMES
: 失败之后重传次数, 默认2次SingleBlockSize
: 单个分块大小, 默认500KBthirdUpload
: 在上传 upyun
失败之后, 选择七牛还是阿里云进行容灾上传, kQiniuUpload
使用七牛, kAliyunUPload
, 使用阿里云
QiniuToken
: 七牛的上传 token
, 详细参考七牛安全机制
AliyunBucket
: 阿里云的 Bucket
AliyunAccessKey
: 阿里云的 AccessKey
AliyunSecretKey
: 阿里云的 SecretKey
注意: 如果需要在上传的过程中不断变动一些参数值, 建议初始化 UpYun
之后, 通过 UpYun
的属性来修改
详细示例请见 UpYunFusionSDKDemo 的
Viewcontroller
。
UpYun *uy = [[UpYun alloc] init];
uy.successBlocker = ^(NSURLResponse *response, id responseData) {
//TODO
};
uy.failBlocker = ^(NSError * error) {
//TODO
};
uy.progressBlocker = ^(CGFloat percent,long long requestDidSendBytes) {
//TODO
};
[uy.params setObject:@"value" forKey:@"key"];
uy.uploadMethod = UPFormUpload;
[uy uploadFile:'file' saveKey:'saveKey'];
file
需要上传的文件NSData
: 文件数据NSString
: 本地文件路径UIImage
: 传入的图片 (当以此类型传入图片时,都会转成PNG数据,需要其他格式请先转成 NSData
传入 或者 传入文件路径 NSString
)saveKey
要保存到又拍云存储的具体地址NSString
: 要保存到又拍云存储的具体地址/dir/sample.jpg
表示以sample.jpg
为文件名保存到 /dir
目录下;/sample.jpg
, 则表示保存到根目录下;saveKey
的路径必须是以/
开始的,下同key
由服务器生成 saveKey
:
/{year}/{mon}/{filename}{.suffix}
表示以上传文件完成时服务器年 {year}
、月 {mon}
最为目录,以传入的文件名 {filename}
及后缀 {.suffix}
作为文件名保存file
以 UIImage
、 NSData
类型传入时, saveKey
不能带有 {filename}
key
详见 save-key详细说明 successBlocker
上传成功回调response
: 成功后服务器返回的信息响应responseData
: 成功后服务器返回的数据 body
(JSON)格式failBlocker
上传失败回调error
: 失败后返回的错误信息progressBlocker
上传进度回调percent
: 上传进度的百分比requestDidSendBytes
: 已经发送的数据量signatureBlocker
用户获取 signature 回调policy
: 经过处理的 policy 字符串, 用户可以直接上传到用户服务端与 密钥
拼接, sinature
: 用户服务端使用上传的 policy
生成的 sinature , 或者用户自己生成 sinature
params
可选参数
uploadMethod
上传方法选择uy.uploadMethod = UPFormUpload
来选择表单上传, uy.uploadMethod = UPMUtUPload
来选择分块上传.-1997
: 参数 filepath
, 找不到文件-1998
: 参数 file
以 UIImage
、 NSData
类型传入时, saveKey
带有 {filename}
-1999
: 参数 file
以 UIImage
、 NSData
、 NSString
外的类型传入