Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- func batchUploadNew(){
- let fileData = "test data example".data(using: String.Encoding.utf8, allowLossyConversion: false)!
- var fileSize = UInt64 (fileData.count)
- // array of files to be uploaded
- var filePathArray = [String]()
- // array of
- var finishArgArray = Array<Files.UploadSessionFinishArg> ()
- // generate file names
- for i in 0...100 {
- filePathArray.append("/dbText/file_\(i).txt")
- }
- let dispatchGroup = DispatchGroup()
- if let client = DropboxClientsManager.authorizedClient {
- // start uploading
- for filepath in filePathArray {
- dispatchGroup.enter()
- client.files.uploadSessionStart(close: true, input: fileData).response { response, error in
- if let result = response {
- let cursorInfo: Files.UploadSessionCursor = Files.UploadSessionCursor (sessionId: result.sessionId, offset: fileSize)
- let commitInfo: Files.CommitInfo = Files.CommitInfo(path: filepath, mode: Files.WriteMode.overwrite, autorename: false, clientModified: nil, mute: false)
- let finishArg: Files.UploadSessionFinishArg = Files.UploadSessionFinishArg(cursor: cursorInfo, commit: commitInfo)
- finishArgArray.append(finishArg)
- } else if let err = error {
- print(err)
- }
- dispatchGroup.leave()
- }
- }
- // commit
- dispatchGroup.notify(queue: .main) {
- // all of them are done
- client.files.uploadSessionFinishBatch(entries: finishArgArray).response{ response, error in
- if let result = response {
- print(result.description)
- }
- }
- // uploadSessionFinishBatchCheck
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement