Skip to content

运用GCD实现多个本地文件的并发上传,并能够设置最大并发数。

Notifications You must be signed in to change notification settings

huxinwen65/UploadFilesTool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fc6d719 · Nov 12, 2019

History

6 Commits
Nov 12, 2019
Nov 12, 2019

Repository files navigation

UploadFilesTool

运用GCD实现多个本地文件的并发上传,并能够设置最大并发数。 导入工程后:

1、设置实现代理UploadFileProtocol的方法:

typedef void(^HXWUploadSuceedResult)(NSString* remoteUrl);

typedef void(^HXWUploadFailedResult)(NSString* des,NSInteger code);

typedef void(^HXWUploadProgress)(double progress);

@protocol UploadFileProtocol

@required

  • (NSURLSessionUploadTask*)uploadFile:(NSString*)filePath suceed:(HXWUploadSuceedResult)suceed failed:(HXWUploadFailedResult)failed progress:(HXWUploadProgress)progress;

@end

2、UploadFilesTool.h:

///设置实际上传网络接口代理

  • (void)setDelegate:(id)delegate;

///上传任务完成后回调

  • (void)setCompletionHandler:(CompletionHandler)handler;

///提交待上传文件路径集合

  • (void)addLocalFilePaths:(NSArray<NSString*>*)filePaths;

///取消上传文件路径集合

  • (void)cancelUploadLocalFilePaths:(NSArray<NSString*>*)filePaths;

///设置最大并发数

  • (void)setMaxQueueCount:(NSUInteger)maxQueueCount;

3、上传完成后回调为UploadFileModel的数组,根据状态state和本地路径拿到相应的远端url:

/** 原始本地路径 */

@property (nonatomic, copy) NSString *originFilePath;

/** 远端url */

@property (nonatomic, copy) NSString *remoteUrl;

/** 上传状态 */

@property (nonatomic, assign) UploadState state;

/** 对应的上传任务 */

@property (nonatomic, strong) NSURLSessionUploadTask *task;

About

运用GCD实现多个本地文件的并发上传,并能够设置最大并发数。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published