marinofaggiana 4 anni fa
parent
commit
cb74666d1a

+ 6 - 4
iOSClient/Data/NCManageDatabase.swift

@@ -1001,15 +1001,17 @@ class NCManageDatabase: NSObject {
         return NSUUID().uuidString
     }
     
-    func existsChunks(account: String, ocId: String) -> Bool {
+    func getChunks(account: String, ocId: String) -> [String] {
         
         let realm = try! Realm()
+        var filesNames: [String] = []
 
-        if realm.objects(tableChunk.self).filter("account == %@ AND ocId == %@", account, ocId).first == nil {
-            return true
+        let results = realm.objects(tableChunk.self).filter("account == %@ AND ocId == %@", account, ocId).sorted(byKeyPath: "fileName", ascending: false)
+        for result in results {
+            filesNames.append(result.fileName)
         }
         
-        return false
+        return filesNames
     }
     
     func existsChunk(account: String, ocId: String, fileName: String) -> Bool {

+ 3 - 3
iOSClient/Networking/NCNetworking.swift

@@ -458,16 +458,16 @@ import Queuer
         var uploadErrorDescription: String = ""
         var counterFileNameInUpload: Int = 0
         let chunkSize = CCUtility.getChunkSize()
-        var filesNames: [String] = []
+        var filesNames = NCManageDatabase.shared.getChunks(account: metadata.account, ocId: metadata.ocId)
         
-        if !NCManageDatabase.shared.existsChunks(account: metadata.account, ocId: metadata.ocId) {
+        if filesNames.count == 0 {
             if let tmp = NCCommunicationCommon.shared.fileChunks(path: directoryProviderStorageOcId, fileName: metadata.fileName, pathChunks: directoryProviderStorageOcId, sizeInMB: chunkSize) {
                 filesNames = tmp
+                NCManageDatabase.shared.addChunks(account: metadata.account, ocId: metadata.ocId, folderChunk: folderChunk, fileNames: filesNames)
             } else {
                 NCManageDatabase.shared.deleteMetadata(predicate: NSPredicate(format: "ocId == %@", metadata.ocId))
                 return
             }
-            NCManageDatabase.shared.addChunks(account: metadata.account, ocId: metadata.ocId, folderChunk: folderChunk, fileNames: filesNames)
         }
         
         NCContentPresenter.shared.messageNotification("_info_", description: "_upload_chunk_", delay: NCGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.info, errorCode:0, forced: false)