cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Want to learn some quick and useful tips to make your day easier? Check out how Calvin uses Replay to get feedback from other teams at Dropbox here.

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

What String to use in writemode update

What String to use in writemode update

chrismcqueen
Explorer | Level 4

My goal is to use SwiftyDropbox in my Swift iOS app to save the user's data and keep it synced between devices. I did this successfully by first deleting the existing file and then writing the updated file, but I would like to use the writemode update instead as that seems safer and better. The one thing I can't figure out is what String to use in the call mode: .update(String). I tried using the same string as the path and that resulted in an error.

I hope this isn't a dumb question, but I've spent the last hour scouring google, the documention, and this forum and I can't seem to find this answer.

Thank you!

let encodedCompleteLibrary = try? JSONEncoder().encode(completeLibrary)
        
        if _inDropboxSyncMode, let client = DropboxClientsManager.authorizedClient {
            if let fileData = encodedCompleteLibrary {
                let pathString: String = UserDefaultsKeys.dropboxFolderName + UserDefaultsKeys.completeLibraryFilename
                client.files.upload(path: pathString, mode: .update(?????), autorename: false, mute: false, input: fileData)
                .response { response, error in
                    if let response = response {
                        self._inOfflineMode = false
                        print(response)
                    } else if let error = error {
                        self._inOfflineMode = true
                        print(error)
                    }
                }
            }
3 Replies 3

Greg-DB
Dropbox Staff

Using the "update" mode is safer, and so it is recommended. The value you supply in it should be the "rev" value for the version of the file that you last downloaded and are updating, so that the server knows if you are working from the latest version or not.

You can get the rev value from FileMetadata.rev, e.g., as returned by the download method.

chrismcqueen
Explorer | Level 4

Awesome, thank you! I kept seeing "rev" and not knowing what that reffered to. I will give that a shot.

familyparker8
New member | Level 2

hello


@Greg-DB wrote:

Using the "update" mode is safer, and so it is recommended. The value you supply in it should be the "rev" value for the version of the file that you last downloaded and are updating, so that the server knows if you are working from the latest version or not.

You can get the rev value from FileMetadata.rev, e.g., as returned by the download method.


 

Need more support?
Who's talking

Top contributors to this post

  • User avatar
    familyparker8 New member | Level 2
  • User avatar
    chrismcqueen Explorer | Level 4
  • User avatar
    Greg-DB Dropbox Staff
What do Dropbox user levels mean?