123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- //
- // CWFileUploadManager.h
- // uploadFileDemo
- //
- // Created by hyjet on 2018/3/9.
- // Copyright © 2018年 uploadFileDemo. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "CWFileStreamSeparation.h"
- #import "CWUploadTask.h"
- #import "CWFileManager.h"
- #import "CWUploadTask+CheckInfo.h"
- /** 删除/清空上传任务通知 */
- #define CWUploadTaskExeDelete @"CWUploadTaskExeDelete"
- @interface CWFileUploadManager : NSObject
- //总的文件分片模型数
- @property (nonatomic,readonly)NSMutableDictionary *fileStreamDict;
- //总任务数
- @property (nonatomic,readonly)NSMutableDictionary *allTasks;
- //正在上传中的任务
- @property (nonatomic,readonly)NSMutableDictionary *uploadingTasks;
- //正在等待上传的任务
- @property (nonatomic,readonly)NSMutableDictionary *uploadWaitTasks;
- //已经上传完的任务
- @property (nonatomic,readonly)NSMutableDictionary *uploadEndTasks;
- //同时上传的任务数
- @property (nonatomic,readonly)NSInteger uploadMaxNum;
- //云盘剩余空间
- @property (nonatomic,assign) int64_t leftStore;
- //配置的上传路径
- @property (nonatomic,readonly)NSURL *url;
- //配置的请求体
- @property (nonatomic,readonly)NSMutableURLRequest *request;
- //操作记录plist文件保存路径
- @property (nonatomic,copy)NSString *plistPath;
- //获得管理类单例对象
- + (instancetype)shardUploadManager;
- //配置全局默认参数
- /**
- @param request 默认请求头
- @param num 最大任务数
- */
- - (void)config:(NSMutableURLRequest * _Nonnull)request maxTask:(NSInteger)num;
- //根据文件路径创建上传任务
- - (CWUploadTask *_Nullable)createUploadTask:(NSString *_Nonnull)filePath;
- //根据文件路径 服务器路径创建上传任务
- - (CWUploadTask *_Nullable)createUploadTask:(NSString *_Nonnull)filePath uploadLocation:(NSString *_Nonnull)uploadLocation imageData:(NSData *_Nullable)imageData;
- //云手机上传 写入plist文件
- - (void)createUploadTaskWithParams:(NSDictionary *)params;
- /**
- 暂停一个上传任务
-
- @param fileStream 上传文件的路径
- */
- - (void)pauseUploadTask:(CWFileStreamSeparation *_Nonnull)fileStream;
- /**
- 继续开始一个上传任务
-
- @param fileStream 上传文件的路径
- */
- - (void)resumeUploadTask:(CWFileStreamSeparation *_Nonnull)fileStream;
- /**
- 删除一个上传任务,同时会删除当前任务上传的缓存数据
-
- @param fileStream 上传文件的路径
- */
- - (void)removeUploadTask:(CWFileStreamSeparation *_Nonnull)fileStream;
- /**
- 暂停所有上传任务
- */
- - (void)pauseAllUploadTask;
- /**
- 启动所有上传任务
- */
- - (void)resumeAllUploadTask;
- /**
- 删除所有上传任务
- */
- - (void)removeAllUploadTask;
- #pragma mark - 相册文件写入Cache
- /// 将相册里的视频文件缓存到Cache
- - (NSString *_Nullable)writeVideoDataFromURL:(NSURL *_Nullable)url uploadLocation:(NSString *_Nullable)uploadLocation;
- /// 将相册里的图片文件缓存到Cache
- - (NSString *_Nullable)writeIamgeData:(NSData *_Nullable)data iamgeName:(NSString *_Nullable)iamgeName uploadLocation:(NSString *_Nullable)uploadLocation;
- - (NSString *_Nullable)writeIamgeDataToLocal:(NSData *_Nullable)data;
- @end
|