123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130 |
- //
- // uploadFileManager.m
- // 隐私保护
- //
- // Created by xd h on 2023/11/15.
- //
- #import "uploadFileManager.h"
- @implementation uploadFileManager
- static uploadFileManager * cur_uploadFileShareInstance = nil;
- +(uploadFileManager *)shareInstance;
- {
- static dispatch_once_t onceToken;
-
- dispatch_once(&onceToken, ^{
- cur_uploadFileShareInstance = [[uploadFileManager alloc] init];
-
- });
-
- return cur_uploadFileShareInstance;
- }
- - (id)init
- {
- self = [super init];
-
- if (self) {
- //[self initManager];
- }
-
- return self;
- }
- //把TZAssetModel 转成 我们需要上传的model
- - (NSMutableArray*)handlTZAssetModelToUploadFileDataFunBy:(NSMutableArray*)indexPathsForSelectedItems
- {
- _fileModelDataArr = [NSMutableArray new];
- for (TZAssetModel * model in indexPathsForSelectedItems) {
- uploadFileDataModel * curModel = [uploadFileDataModel new];
- curModel.imageData = model.imageData;
- curModel.filename = [model.asset valueForKey:@"filename"];
- curModel.uploadType = uploadStateWait;
- [_fileModelDataArr addObject:curModel];
-
- //保存到数据库
- curModel.bg_tableName = upLoadFile_image_tableName;
- [curModel bg_saveOrUpdateAsync:^(BOOL isSuccess) {
- HLog(@"%@ 写入 %@", curModel.filename, isSuccess ? @"成功":@"失败");
- }];
- }
-
- if(_fileModelDataArr.count > 0){
- [self beginUploadFileFun];
- }
-
- return _fileModelDataArr;
- }
- - (void)beginUploadFileFun
- {
- _curUploadFileDataModel = _fileModelDataArr.firstObject;
-
- [[NSNotificationCenter defaultCenter] postNotificationName:uploadFileBeginNotification object:_curUploadFileDataModel];
- }
- //修改文件上传的状态
- - (void)changeUploadFileState:(uploadStateType)curUploadStateType withDidUploadBytes:(NSInteger)didUpLoadBytes complete:(custom_complete_B)complete
- {
- // _curUploadFileDataModel.imageData = nil;
- // _curUploadFileDataModel.uploadType = uploadStateDone;
- //
-
- NSNumber * numberUploadState = nil;
-
- if(curUploadStateType == uploadStateDone)
- {
- numberUploadState = [NSNumber numberWithInt:uploadStateUploading];
- }
- else{
- numberUploadState = [NSNumber numberWithInt:uploadStateDone];
- }
-
- NSString* where = nil;
-
- if(curUploadStateType == uploadStateDone)
- {
- where = [NSString stringWithFormat:@"where %@=%@ and %@=%@ ",bg_sqlKey(@"filename"),bg_sqlValue(_curUploadFileDataModel.filename),bg_sqlKey(@"uploadType"),bg_sqlValue(numberUploadState)];
- }
- else
- {
- where = [NSString stringWithFormat:@"where %@=%@ and %@!=%@ ",bg_sqlKey(@"filename"),bg_sqlValue(_curUploadFileDataModel.filename),bg_sqlKey(@"uploadType"),bg_sqlValue(numberUploadState)];
- }
-
-
-
- [uploadFileDataModel bg_findAsync:upLoadFile_image_tableName where:where complete:^(NSArray * _Nullable array) {
- for (uploadFileDataModel * curModel in array) {
- curModel.uploadType = curUploadStateType;
- curModel.didUploadBytes = didUpLoadBytes;
-
- if(curUploadStateType == uploadStateDone){
- curModel.imageData = [NSData data];
- }
-
- [curModel bg_saveOrUpdateAsync:^(BOOL isSuccess) {
- HLog(@"%@ 写入 %@", self->_curUploadFileDataModel.filename, isSuccess ? @"成功":@"失败");
- }];
- }
-
- complete(YES);
- }];
-
- }
- - (void)uploadFileDoneFun
- {
- [self changeUploadFileState:uploadStateDone withDidUploadBytes:[_curUploadFileDataModel.imageData length] complete:^(BOOL isSuccess) {
- [self->_fileModelDataArr removeObject:self->_curUploadFileDataModel];
-
- if(self->_fileModelDataArr.count > 0){
- [self beginUploadFileFun];
- }
- }];
- }
- @end
|