68 lines
1.9 KiB
Objective-C
Executable File
68 lines
1.9 KiB
Objective-C
Executable File
//
|
|
// QNUploadOption.m
|
|
// QiniuSDK
|
|
//
|
|
// Created by bailong on 14/10/4.
|
|
// Copyright (c) 2014年 Qiniu. All rights reserved.
|
|
//
|
|
|
|
#import "QNUploadOption+Private.h"
|
|
#import "QNUploadManager.h"
|
|
|
|
static NSString *mime(NSString *mimeType) {
|
|
if (mimeType == nil || [mimeType isEqualToString:@""]) {
|
|
return @"application/octet-stream";
|
|
}
|
|
return mimeType;
|
|
}
|
|
|
|
@implementation QNUploadOption
|
|
|
|
+ (NSDictionary *)filteParam:(NSDictionary *)params {
|
|
NSMutableDictionary *ret = [NSMutableDictionary dictionary];
|
|
if (params == nil) {
|
|
return ret;
|
|
}
|
|
|
|
[params enumerateKeysAndObjectsUsingBlock:^(NSString *key, NSString *obj, BOOL *stop) {
|
|
if ([key hasPrefix:@"x:"] && ![obj isEqualToString:@""]) {
|
|
ret[key] = obj;
|
|
}
|
|
}];
|
|
|
|
return ret;
|
|
}
|
|
|
|
- (instancetype)initWithProgessHandler:(QNUpProgressHandler)progress {
|
|
return [self initWithMime:nil progressHandler:progress params:nil checkCrc:NO cancellationSignal:nil];
|
|
}
|
|
|
|
- (instancetype)initWithProgressHandler:(QNUpProgressHandler)progress {
|
|
return [self initWithMime:nil progressHandler:progress params:nil checkCrc:NO cancellationSignal:nil];
|
|
}
|
|
|
|
- (instancetype)initWithMime:(NSString *)mimeType
|
|
progressHandler:(QNUpProgressHandler)progress
|
|
params:(NSDictionary *)params
|
|
checkCrc:(BOOL)check
|
|
cancellationSignal:(QNUpCancellationSignal)cancel {
|
|
if (self = [super init]) {
|
|
_mimeType = mime(mimeType);
|
|
_progressHandler = progress != nil ? progress : ^(NSString *key, float percent) {
|
|
};
|
|
_params = [QNUploadOption filteParam:params];
|
|
_checkCrc = check;
|
|
_cancellationSignal = cancel != nil ? cancel : ^BOOL() {
|
|
return NO;
|
|
};
|
|
}
|
|
|
|
return self;
|
|
}
|
|
|
|
+ (instancetype)defaultOptions {
|
|
return [[QNUploadOption alloc] initWithMime:nil progressHandler:nil params:nil checkCrc:NO cancellationSignal:nil];
|
|
}
|
|
|
|
@end
|