Advertisement
Guest User

Untitled

a guest
Mar 27th, 2017
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.36 KB | None | 0 0
  1. func batchUploadNew(){
  2.  
  3. let fileData = "test data example".data(using: String.Encoding.utf8, allowLossyConversion: false)!
  4. var fileSize = UInt64 (fileData.count)
  5.  
  6. // array of files to be uploaded
  7. var filePathArray = [String]()
  8.  
  9. // array of
  10. var finishArgArray = Array<Files.UploadSessionFinishArg> ()
  11.  
  12. // generate file names
  13. for i in 0...100 {
  14. filePathArray.append("/dbText/file_\(i).txt")
  15. }
  16.  
  17.  
  18. let dispatchGroup = DispatchGroup()
  19.  
  20.  
  21. if let client = DropboxClientsManager.authorizedClient {
  22.  
  23. // start uploading
  24. for filepath in filePathArray {
  25.  
  26. dispatchGroup.enter()
  27.  
  28. client.files.uploadSessionStart(close: true, input: fileData).response { response, error in
  29.  
  30. if let result = response {
  31.  
  32. let cursorInfo: Files.UploadSessionCursor = Files.UploadSessionCursor (sessionId: result.sessionId, offset: fileSize)
  33. let commitInfo: Files.CommitInfo = Files.CommitInfo(path: filepath, mode: Files.WriteMode.overwrite, autorename: false, clientModified: nil, mute: false)
  34. let finishArg: Files.UploadSessionFinishArg = Files.UploadSessionFinishArg(cursor: cursorInfo, commit: commitInfo)
  35.  
  36. finishArgArray.append(finishArg)
  37.  
  38. } else if let err = error {
  39.  
  40. print(err)
  41. }
  42.  
  43.  
  44. dispatchGroup.leave()
  45. }
  46.  
  47. }
  48.  
  49. // commit
  50.  
  51.  
  52. dispatchGroup.notify(queue: .main) {
  53.  
  54. // all of them are done
  55.  
  56.  
  57. client.files.uploadSessionFinishBatch(entries: finishArgArray).response{ response, error in
  58.  
  59. if let result = response {
  60. print(result.description)
  61. }
  62. }
  63.  
  64. // uploadSessionFinishBatchCheck
  65.  
  66. }
  67.  
  68. }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement