Files
youle_app_ios/Pods/Qiniu/QiniuSDK/Storage/QNUploadOption.h

139 lines
4.1 KiB
Objective-C
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
//
// QNUploadOption.h
// QiniuSDK
//
// Created by bailong on 14/10/4.
// Copyright (c) 2014年 Qiniu. All rights reserved.
//
#import <Foundation/Foundation.h>
/**
* 上传进度回调函数
*
* @param key 上传时指定的存储key
* @param percent 进度百分比
*/
typedef void (^QNUpProgressHandler)(NSString *key, float percent);
/**
* 上传进度回调函数
*
* @param key 上传文件的保存文件名
* @param uploadBytes 已上传大小
* @param totalBytes 总大小;无法获取大小时为 -1
*/
typedef void (^QNUpByteProgressHandler)(NSString *key, long long uploadBytes, long long totalBytes);
/**
* 上传中途取消函数
*
* @return 如果想取消返回True, 否则返回No
*/
typedef BOOL (^QNUpCancellationSignal)(void);
/**
* 可选参数集合此类初始化后sdk上传使用时 不会对此进行改变;如果参数没有变化以及没有使用依赖,可以重复使用。
*/
@interface QNUploadOption : NSObject
/**
* 用于服务器上传回调通知的自定义参数参数的key必须以x: 开头 eg: x:foo
*/
@property (copy, nonatomic, readonly) NSDictionary *params;
/**
* 用于设置meta数据参数的key必须以x-qn-meta- 开头 eg: x-qn-meta-key
*/
@property (copy, nonatomic, readonly) NSDictionary *metaDataParam;
/**
* 指定文件的mime类型
*/
@property (copy, nonatomic, readonly) NSString *mimeType;
/**
* 是否进行crc校验
*/
@property (readonly) BOOL checkCrc;
/**
* 进度回调函数
*/
@property (copy, readonly) QNUpProgressHandler progressHandler;
/**
* 进度回调函数
* 注:
* 使用此接口progressHandler 会无效
*/
@property (copy, readonly) QNUpByteProgressHandler byteProgressHandler;
/**
* 中途取消函数
*/
@property (copy, readonly) QNUpCancellationSignal cancellationSignal;
/**
* 可选参数的初始化方法
*
* @param mimeType mime类型
* @param progress 进度函数
* @param params 自定义服务器回调参数 参数的key必须以x: 开头 eg: x:foo
* @param check 是否进行crc检查
* @param cancellation 中途取消函数
*
* @return 可选参数类实例
*/
- (instancetype)initWithMime:(NSString *)mimeType
progressHandler:(QNUpProgressHandler)progress
params:(NSDictionary *)params
checkCrc:(BOOL)check
cancellationSignal:(QNUpCancellationSignal)cancellation;
- (instancetype)initWithMime:(NSString *)mimeType
byteProgressHandler:(QNUpByteProgressHandler)progress
params:(NSDictionary *)params
checkCrc:(BOOL)check
cancellationSignal:(QNUpCancellationSignal)cancellation;
/**
* 可选参数的初始化方法
*
* @param mimeType mime类型
* @param progress 进度函数
* @param params 自定义服务器回调参数 参数的key必须以x: 开头 eg: x:foo
* @param metaDataParams 设置meta数据参数的key必须以x-qn-meta- 开头 eg: x-qn-meta-key
* @param check 是否进行crc检查
* @param cancellation 中途取消函数
*
* @return 可选参数类实例
*/
- (instancetype)initWithMime:(NSString *)mimeType
progressHandler:(QNUpProgressHandler)progress
params:(NSDictionary *)params
metaDataParams:(NSDictionary *)metaDataParams
checkCrc:(BOOL)check
cancellationSignal:(QNUpCancellationSignal)cancellation;
- (instancetype)initWithMime:(NSString *)mimeType
byteProgressHandler:(QNUpByteProgressHandler)progress
params:(NSDictionary *)params
metaDataParams:(NSDictionary *)metaDataParams
checkCrc:(BOOL)check
cancellationSignal:(QNUpCancellationSignal)cancellation;
- (instancetype)initWithProgressHandler:(QNUpProgressHandler)progress;
- (instancetype)initWithByteProgressHandler:(QNUpByteProgressHandler)progress;
/**
* 内部使用,默认的参数实例
*
* @return 可选参数类实例
*/
+ (instancetype)defaultOptions;
@end