|
@@ -802,75 +802,68 @@ class FileProvider: NSFileProviderExtension {
|
|
|
} catch let error {
|
|
|
print("error: \(error)")
|
|
|
}
|
|
|
-
|
|
|
- if (size == 0) {
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- } else {
|
|
|
-
|
|
|
- // upload
|
|
|
- _ = ocNetworking?.uploadFileNameServerUrl(serverUrl+"/"+fileName, fileNameLocalPath: fileNameLocalPath.path, communication: CCNetworking.shared().sharedOCCommunicationExtensionUpload(k_upload_session_extension), success: { (fileID, etag, date) in
|
|
|
+
|
|
|
+ // upload
|
|
|
+ _ = ocNetworking?.uploadFileNameServerUrl(serverUrl+"/"+fileName, fileNameLocalPath: fileNameLocalPath.path, communication: CCNetworking.shared().sharedOCCommunication(), success: { (fileID, etag, date) in
|
|
|
|
|
|
- let metadata = tableMetadata()
|
|
|
+ let metadata = tableMetadata()
|
|
|
|
|
|
- metadata.account = account
|
|
|
- metadata.date = date! as NSDate
|
|
|
- metadata.directory = false
|
|
|
- metadata.directoryID = directoryParent.directoryID
|
|
|
- metadata.etag = etag!
|
|
|
- metadata.fileID = fileID!
|
|
|
- metadata.fileName = fileName
|
|
|
- metadata.fileNameView = fileName
|
|
|
- metadata.size = size
|
|
|
+ metadata.account = account
|
|
|
+ metadata.date = date! as NSDate
|
|
|
+ metadata.directory = false
|
|
|
+ metadata.directoryID = directoryParent.directoryID
|
|
|
+ metadata.etag = etag!
|
|
|
+ metadata.fileID = fileID!
|
|
|
+ metadata.fileName = fileName
|
|
|
+ metadata.fileNameView = fileName
|
|
|
+ metadata.size = size
|
|
|
|
|
|
- CCUtility.insertTypeFileIconName(fileName, metadata: metadata)
|
|
|
+ CCUtility.insertTypeFileIconName(fileName, metadata: metadata)
|
|
|
|
|
|
- guard let metadataDB = NCManageDatabase.sharedInstance.addMetadata(metadata) else {
|
|
|
- completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
- return
|
|
|
- }
|
|
|
+ guard let metadataDB = NCManageDatabase.sharedInstance.addMetadata(metadata) else {
|
|
|
+ completionHandler(nil, NSFileProviderError(.noSuchItem))
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- // Copy on ItemIdentifier path
|
|
|
- let identifierPathUrl = groupURL!.appendingPathComponent("File Provider Storage").appendingPathComponent(metadata.fileID)
|
|
|
- let toPath = "\(identifierPathUrl.path)/\(metadata.fileNameView)"
|
|
|
-
|
|
|
- if !FileManager.default.fileExists(atPath: identifierPathUrl.path) {
|
|
|
- do {
|
|
|
- try FileManager.default.createDirectory(atPath: identifierPathUrl.path, withIntermediateDirectories: true, attributes: nil)
|
|
|
- } catch let error {
|
|
|
- print("error: \(error)")
|
|
|
- }
|
|
|
- }
|
|
|
+ // Copy on ItemIdentifier path
|
|
|
+ let identifierPathUrl = groupURL!.appendingPathComponent("File Provider Storage").appendingPathComponent(metadata.fileID)
|
|
|
+ let toPath = "\(identifierPathUrl.path)/\(metadata.fileNameView)"
|
|
|
|
|
|
+ if !FileManager.default.fileExists(atPath: identifierPathUrl.path) {
|
|
|
do {
|
|
|
- try FileManager.default.removeItem(atPath: toPath)
|
|
|
+ try FileManager.default.createDirectory(atPath: identifierPathUrl.path, withIntermediateDirectories: true, attributes: nil)
|
|
|
} catch let error {
|
|
|
print("error: \(error)")
|
|
|
}
|
|
|
- do {
|
|
|
- try FileManager.default.copyItem(atPath: fileNameLocalPath.path, toPath: toPath)
|
|
|
- } catch let error {
|
|
|
- print("error: \(error)")
|
|
|
- }
|
|
|
-
|
|
|
- // add item
|
|
|
- let item = FileProviderItem(metadata: metadataDB, serverUrl: serverUrl)
|
|
|
-
|
|
|
- // remove file uploading
|
|
|
- self.uploading = self.uploading.filter() { $0 != serverUrl+"/"+fileName }
|
|
|
-
|
|
|
- completionHandler(item, nil)
|
|
|
-
|
|
|
- // Refresh UI
|
|
|
- self.refreshCurrentEnumerator(serverUrl: serverUrl)
|
|
|
+ }
|
|
|
+
|
|
|
+ do {
|
|
|
+ try FileManager.default.removeItem(atPath: toPath)
|
|
|
+ } catch let error {
|
|
|
+ print("error: \(error)")
|
|
|
+ }
|
|
|
+ do {
|
|
|
+ try FileManager.default.copyItem(atPath: fileNameLocalPath.path, toPath: toPath)
|
|
|
+ } catch let error {
|
|
|
+ print("error: \(error)")
|
|
|
+ }
|
|
|
+
|
|
|
+ // add item
|
|
|
+ let item = FileProviderItem(metadata: metadataDB, serverUrl: serverUrl)
|
|
|
+
|
|
|
+ // remove file uploading
|
|
|
+ self.uploading = self.uploading.filter() { $0 != serverUrl+"/"+fileName }
|
|
|
+
|
|
|
+ completionHandler(item, nil)
|
|
|
+
|
|
|
+ // Refresh UI
|
|
|
+ self.refreshCurrentEnumerator(serverUrl: serverUrl)
|
|
|
|
|
|
- }, failure: { (message, errorCode) in
|
|
|
- // remove file uploading
|
|
|
- self.uploading = self.uploading.filter() { $0 != serverUrl+"/"+fileName }
|
|
|
- completionHandler(nil, NSFileProviderError(.serverUnreachable))
|
|
|
- })
|
|
|
- }
|
|
|
+ }, failure: { (message, errorCode) in
|
|
|
+ // remove file uploading
|
|
|
+ self.uploading = self.uploading.filter() { $0 != serverUrl+"/"+fileName }
|
|
|
+ completionHandler(nil, NSFileProviderError(.serverUnreachable))
|
|
|
+ })
|
|
|
}
|
|
|
|
|
|
// --------------------------------------------------------------------------------------------
|