فهرست منبع

Update upload for overwrite encrypted file

Marino Faggiana 7 سال پیش
والد
کامیت
e6e9109fe7
3فایلهای تغییر یافته به همراه16 افزوده شده و 11 حذف شده
  1. 13 8
      iOSClient/Networking/CCNetworking.m
  2. 1 1
      iOSClient/Utility/CCUtility.h
  3. 2 2
      iOSClient/Utility/CCUtility.m

+ 13 - 8
iOSClient/Networking/CCNetworking.m

@@ -888,7 +888,6 @@
 
 - (void)upload:(NSString *)fileName serverUrl:(NSString *)serverUrl assetLocalIdentifier:(NSString *)assetLocalIdentifier session:(NSString *)session taskStatus:(NSInteger)taskStatus selector:(NSString *)selector selectorPost:(NSString *)selectorPost errorCode:(NSInteger)errorCode delegate:(id)delegate
 {
-    NSString *fileNamePlain = fileName;
     NSString *directoryID = [[NCManageDatabase sharedInstance] getDirectoryID:serverUrl];
     if (!directoryID) return;
     
@@ -899,8 +898,8 @@
     if (delegate)
         [_delegates setObject:delegate forKey:uploadID];
     
-    // create Metadata
-    tableMetadata *metadata = [CCUtility insertFileSystemInMetadata:fileName fileNamePlain:fileNamePlain directory:_directoryUser activeAccount:_activeAccount];
+    // create Metadata for Upload
+    tableMetadata *metadata = [CCUtility insertFileSystemInMetadata:fileName fileNameView:fileName directory:_directoryUser activeAccount:_activeAccount];
     
     metadata.date = [NSDate new];
     metadata.fileID = uploadID;
@@ -916,8 +915,15 @@
     // *** IS ENCRYPTED ---> ENCRYPTED FILE ***
     if ([CCUtility isFolderEncrypted:serverUrl account:_activeAccount]) {
         
-        // Create encrypted file
-        NSString *fileNameIdentifier = [CCUtility generateRandomIdentifier];
+        NSString *fileNameIdentifier;
+        
+        // id exists overwrite file else create a new encrypted filename
+        tableMetadata *overwriteMetadata = [[NCManageDatabase sharedInstance] getMetadataWithPredicate:[NSPredicate predicateWithFormat:@"account = %@ AND directoryID = %@ AND fileNameView = %@", _activeAccount, directoryID, fileName]];
+        if (overwriteMetadata)
+            fileNameIdentifier = overwriteMetadata.fileName;
+        else
+            fileNameIdentifier = [CCUtility generateRandomIdentifier];
+            
         BOOL result = [self newEndToEndFile:fileName fileNameIdentifier:fileNameIdentifier serverUrl:serverUrl];
         if (result == false) {
             
@@ -929,16 +935,15 @@
         }
         
         // Now the fileName is fileNameIdentifier
-        fileName = fileNameIdentifier;
         metadata.fileName = fileNameIdentifier;
     }
     
-    [CCGraphics createNewImageFrom:fileNamePlain directoryUser:_directoryUser fileNameTo:metadata.fileID extension:[fileNamePlain pathExtension] size:@"m" imageForUpload:YES typeFile:metadata.typeFile writePreview:YES optimizedFileName:NO];
+    [CCGraphics createNewImageFrom:metadata.fileNameView directoryUser:_directoryUser fileNameTo:metadata.fileID extension:[metadata.fileNameView pathExtension] size:@"m" imageForUpload:YES typeFile:metadata.typeFile writePreview:YES optimizedFileName:NO];
 
     metadata = [[NCManageDatabase sharedInstance] addMetadata:metadata];
             
     if (metadata)
-        [self uploadURLSession:fileName serverUrl:serverUrl sessionID:uploadID session:metadata.session taskStatus:taskStatus assetLocalIdentifier:assetLocalIdentifier selector:selector];
+        [self uploadURLSession:metadata.fileName serverUrl:serverUrl sessionID:uploadID session:metadata.session taskStatus:taskStatus assetLocalIdentifier:assetLocalIdentifier selector:selector];
 }
 
 - (void)uploadFileMetadata:(tableMetadata *)metadata taskStatus:(NSInteger)taskStatus

+ 1 - 1
iOSClient/Utility/CCUtility.h

@@ -192,7 +192,7 @@
 
 + (tableMetadata *)trasformedOCFileToCCMetadata:(OCFileDto *)itemDto fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl directoryID:(NSString *)directoryID autoUploadFileName:(NSString *)autoUploadFileName autoUploadDirectory:(NSString *)autoUploadDirectory activeAccount:(NSString *)activeAccount directoryUser:(NSString *)directoryUser;
 
-+ (tableMetadata *)insertFileSystemInMetadata:(NSString *)fileName fileNamePlain:(NSString *)fileNamePlain directory:(NSString *)directory activeAccount:(NSString *)activeAccount;
++ (tableMetadata *)insertFileSystemInMetadata:(NSString *)fileName fileNameView:(NSString *)fileNameView directory:(NSString *)directory activeAccount:(NSString *)activeAccount;
 
 + (void)insertTypeFileIconName:(NSString *)fileNameView metadata:(tableMetadata *)metadata;
 

+ 2 - 2
iOSClient/Utility/CCUtility.m

@@ -1061,7 +1061,7 @@
     }
 }
 
-+ (tableMetadata *)insertFileSystemInMetadata:(NSString *)fileName fileNamePlain:(NSString *)fileNamePlain directory:(NSString *)directory activeAccount:(NSString *)activeAccount
++ (tableMetadata *)insertFileSystemInMetadata:(NSString *)fileName fileNameView:(NSString *)fileNameView directory:(NSString *)directory activeAccount:(NSString *)activeAccount
 {
     tableMetadata *metadata = [[tableMetadata alloc] init];
     
@@ -1083,7 +1083,7 @@
     metadata.size = [attributes[NSFileSize] longValue];
     metadata.thumbnailExists = false;
     
-    [self insertTypeFileIconName:fileNamePlain metadata:metadata];
+    [self insertTypeFileIconName:fileNameView metadata:metadata];
     
     return metadata;
 }