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
外的类型传入