Procházet zdrojové kódy

1. 文件上传优化

huangxiaodong před 2 roky
rodič
revize
3fdd14db36

+ 17 - 2
创维盒子/双子星云手机/Class/Set/uploadFile/photoView/uploadFileRecordCell.m

@@ -221,12 +221,27 @@
     else{
         if(curUploadFileDataModel.curUploadFileType == uploadFileTypeImage){
             NSString*pathStr = [cachesFileManager getFilePathWithName:curUploadFileDataModel.filename type:curUploadFileDataModel.curUploadFileType];
-            _fileImageView.image = [UIImage imageWithContentsOfFile:pathStr];
+            UIImage *image = [UIImage imageWithContentsOfFile:pathStr];
+            
+            if(image){
+                _fileImageView.image = image;
+            }
+            else
+            {
+                _fileImageView.image = [UIImage imageNamed:@"uploadFile_image"];
+            }
         }
         else{
             NSString*pathStr = [cachesFileManager getFilePathWithName:curUploadFileDataModel.videoFirstImageName type:uploadFileTypeImage];
              UIImage *image = [UIImage imageWithContentsOfFile:pathStr];
-            _fileImageView.image = image;
+            
+            if(image){
+                _fileImageView.image = image;
+            }
+            else
+            {
+                _fileImageView.image = [UIImage imageNamed:@"uploadFile_image"];
+            }
         }
     }
     

+ 17 - 5
创维盒子/双子星云手机/Class/Set/uploadFile/uploadFileManager/uploadFileManager.m

@@ -41,11 +41,14 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
         return;
     }
     
-    _databaseArr = [NSMutableArray new];
+    if(!_databaseArr)
+    {
+        _databaseArr = [NSMutableArray new];
+    }
     
-    KWeakSelf
+    //KWeakSelf
     dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
-        [uploadFileDataModel bg_findAsync:upLoadFile_image_tableName limit:0 orderBy:nil desc:YES complete:^(NSArray * _Nullable array) {
+        [uploadFileDataModel bg_findAsync:upLoadFile_image_tableName limit:0 orderBy:nil desc:NO complete:^(NSArray * _Nullable array) {
             NSMutableArray *failArr = [NSMutableArray new];
             NSMutableArray *doneArr = [NSMutableArray new];
             NSMutableArray *otherArr = [NSMutableArray new];
@@ -78,9 +81,13 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
                     }
                 }
             
+            NSLock *lock = [NSLock new];
+            [lock lock];
+            [self->_databaseArr removeAllObjects];
             [self->_databaseArr addObject:otherArr];
             [self->_databaseArr addObject:doneArr];
             [self->_databaseArr addObject:failArr];
+            [lock unlock];
             
             complete(self->_databaseArr);
         }];
@@ -197,7 +204,7 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
         
         dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), ^{
             [curModel bg_saveOrUpdateAsync:^(BOOL isSuccess) {
-                HLog(@"%@ 写入 %@", curModel.filename, isSuccess ? @"成功":@"失败");
+                //HLog(@"%@ 写入 %@", curModel.filename, isSuccess ? @"成功":@"失败");
             }];
         });
         
@@ -441,7 +448,7 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
             }
             
             [curModel bg_saveOrUpdateAsync:^(BOOL isSuccess) {
-                HLog(@"%@ 写入 %@", model.filename, isSuccess ? @"成功":@"失败");
+                //HLog(@"%@ 写入 %@", model.filename, isSuccess ? @"成功":@"失败");
             }];
             
         }
@@ -697,6 +704,9 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
 #pragma mark 处理重复上传文件的问题
 - (void)handleRetryUploadAndDelRecordFun:(uploadFileDataModel *)uploadFileDataMod
 {
+    NSLock *lock = [NSLock new];
+    [lock lock];
+    
     if(!_databaseArr && _databaseArr.count != 3){
         return;
     }
@@ -737,6 +747,8 @@ static uploadFileManager * cur_uploadFileShareInstance = nil;
             [cachesFileManager removeItemAtPath:uploadFileDataMod.filename type:uploadFileTypeVideo error:nil];
         }
     }
+    
+    [lock unlock];
 }
 
 

+ 4 - 2
创维盒子/双子星云手机/Class/Set/uploadFile/uploadFileRecordViewController.m

@@ -354,9 +354,11 @@
 
 -(void)gotoUploadFile:(NSMutableArray*)indexPathsForSelectedItems
 {
+    
+    //[self realGotoUploadFile:indexPathsForSelectedItems];
     KWeakSelf
     [[uploadFileManager shareInstance] getDataInDatabaseFun:YES complete:^(NSMutableArray * _Nonnull Arr) {
-       
+
         [weakSelf realGotoUploadFile:indexPathsForSelectedItems];
     }];
     
@@ -532,7 +534,7 @@
         
         NSInteger index = 0;
         for (uploadFileDataModel*mod in curArr) {
-            HLog(@"%@ bg_id:%@ ?=? %@",mod.filename,mod.bg_id,uploadFileDataMod.bg_id);
+            //HLog(@"%@ bg_id:%@ ?=? %@",mod.filename,mod.bg_id,uploadFileDataMod.bg_id);
             
             if(mod.bg_id.integerValue == uploadFileDataMod.bg_id.integerValue){
                 

+ 6 - 0
创维盒子/双子星云手机/CloudPlayer/PlayerViewController+otherDelegate.mm

@@ -596,6 +596,12 @@
 - (void)upLoadFileFun
 {
     //HLog(@"上传文件%ld/%ld",self.indexOfUploadFlie +1,self.cutFileDataArr.count);
+    
+    if(self.cutFileDataArr.count <= self.indexOfUploadFlie)
+    {
+        return;
+    }
+    
     //data
     NSData *curData = self.cutFileDataArr[self.indexOfUploadFlie];
     //HLog(@"headData:%@",curData);