Skip to content

upyun/ios-fusion-sdk

Repository files navigation

UPYUN iOS Fusion SDK

Build Status Latest Stable Version Platform Software License

#####UPYUN iOS Fusion SDK, 提供融合云存储功能, 与 UPYUN 服务器连接不稳定时自动备份到第三方存储, 集成:

运行环境

iOS 7.0 及以上版本, ARC 模式, 采用 NSURLSession 做网络库

注: 因为 iOS 9 的 ATS , 如果碰到 SSL 错误, 请将上传 URL 设置为信任, 可以参考 stackoverflowiOS 9 AdaptationTips.

使用说明:

1.直接下载, 引入 UPYUNSDK 文件夹, 然后 #import "UpYun.h" #import "ThirdUpload.h" 即可使用

参数设置

ThirdUpload 中可以对 SDK 的一些参数进行配置

  • thirdUploadMethod : 在上传 UPYUN 失败之后, 选择七牛还是阿里云进行容灾上传; kQiniuUpload 使用七牛, kAliyunUPload 使用阿里云

  • QiniuUploadPath 所有容灾七牛上传的路径. 不设置时默认为根目录

  • QiniuToken : 七牛的上传 token , 详细参考七牛安全机制

  • AliyunUploadPath 所有容灾阿里云上传的路径. 不设置时默认为根目录

  • AliyunBucket : 阿里云的 Bucket

  • AliyunAccessKey : 阿里云的 AccessKey

  • AliyunSecretKey : 阿里云的 SecretKey

注1: 如果使用融合云存储功能,阿里和七牛的配置必选其一

注2: 如果需要在上传的过程中不断变动一些参数值, 建议初始化 UpYun 之后, 通过 UpYun 的属性来修改

上传接口

详细示例请见 UpYunFusionSDKDemo 的 Viewcontroller2 中的演示方法

	[self testFormUploader1];    //本地签名的表单上传
	[self testFormUploader2];   //服务器端签名的表单上传(模拟)
 	[self testBlockUpLoader1];  //断点续传
	......

表单上传

	UpYunFormUploader *up = [[UpYunFormUploader alloc] init];
	[up uploadWithBucketName:#bucketName#
                    operator:#operator#
                    password:#password#
                    fileData:#fileData#
                    fileName:#fileName#
                     saveKey:#saveKey#
                     thirdSuccess:thirdSuccessBlock
                     failure:failureBlock
                    progress:progressBlock];

断点/分开 上传

	UpYunBlockUpLoader *up = [[UpYunBlockUpLoader alloc] init];
	[up uploadWithBucketName:#bucketName#
                    operator:#operator#
                    password:#password#
                    filePath:#filePath#
                    savePath:#savePath#
                     thirdSuccess:thirdSuccessBlock
                     failure:failureBlock
                    progress:progressBlock];

参数说明:

1、saveKey 要保存到又拍云存储的具体地址

  • 可传入类型:
  • NSString: 要保存到又拍云存储的具体地址
  • 由开发者自己生成 saveKey :
    • 比如 /dir/sample.jpg表示以sample.jpg 为文件名保存到 /dir 目录下;
    • 若保存路径为 /sample.jpg , 则表示保存到根目录下;
    • 注意 saveKey 的路径必须是以/开始的

2、successBlocker 上传成功回调

  • 回调中的参数:
    • response: 成功后服务器返回的信息响应
    • responseData: 成功后服务器返回的数据 body (JSON)格式

3、failBlocker 上传失败回调

  • 回调中的参数:
    • error: 失败后返回的错误信息

4、progressBlocker 上传进度回调

  • 回调中的参数:
    • percent: 上传进度的百分比
    • requestDidSendBytes: 已经发送的数据量

5、params 可选参数

错误代码