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: 

Getting File Metadata after doing upload - Android

Getting File Metadata after doing upload - Android

Robert S.138
Helpful | Level 7
Go to solution

To upload in Android I am using

sDbxClient.files().uploadBuilder(pathName)
.withMode(WriteMode.OVERWRITE)
.uploadAndFinish(inputStream);

which returns, what? The docs say it returns the server response as a "R".  How do I extract the file metadata from the server response to uploadAndFinish?  I want to get the server modified time from it.

 

I am looking for something equivalent to what I do in Objective-C, where is use the completion block of uploadData:mode:autorename:clientModified:mute:inputData:.

1 Accepted Solution

Accepted Solutions

Greg-DB
Dropbox Staff
Go to solution

R is the response, containing the metadata of the uploaded file. So, for example in this case you could do something like:

 

FileInputStream inputStream = new FileInputStream(localPath);
try {
    FileMetadata fileMetadata = client.files().uploadBuilder(remotePath)
            .withMode(WriteMode.OVERWRITE)
            .uploadAndFinish(inputStream);
    System.out.println(fileMetadata.getName());
    System.out.println(fileMetadata.getServerModified());
} finally {
    inputStream.close();
}

View solution in original post

3 Replies 3

Greg-DB
Dropbox Staff
Go to solution

R is the response, containing the metadata of the uploaded file. So, for example in this case you could do something like:

 

FileInputStream inputStream = new FileInputStream(localPath);
try {
    FileMetadata fileMetadata = client.files().uploadBuilder(remotePath)
            .withMode(WriteMode.OVERWRITE)
            .uploadAndFinish(inputStream);
    System.out.println(fileMetadata.getName());
    System.out.println(fileMetadata.getServerModified());
} finally {
    inputStream.close();
}

Robert S.138
Helpful | Level 7
Go to solution

Thanks, it seems to work.  I thought it might be something like that.  But starting from the official docs for uploadAndFinish, all I could see was that it returned type R.  Where in the docs was I supposed to see that R was FileMetadata in this case?

Greg-DB
Dropbox Staff
Go to solution

UploadBuilder gives you an UploadUploader which is documented as DbxUploader<FileMetadata,UploadError,UploadErrorException>. 

 

That's definitely unclear/difficult to find if you're looking at uploadAndFinish itself though, so I'll ask the team to clarify that in the documentation. Thanks!

Need more support?
Who's talking

Top contributors to this post

  • User avatar
    Greg-DB Dropbox Staff
  • User avatar
    Robert S.138 Helpful | Level 7
What do Dropbox user levels mean?