We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.
Forum Discussion
developersSave
2 years agoHelpful | Level 6
Move files and Folders
Hi everyone,
I've a question:
I need to move files and folders using dropbox API in my Java project. Do you have some code examples? I can't find them online and I don't know if it's possibile do that.
Thank you!
Hi Здравко ,
I solved everything in this way (all Paths are made with a DropBox id):
public static String moveFile(SuiteConfiguration suiteConfiguration,
String fromPath,String toPath) throws RelocationErrorException, DbxException {
DbxClientV2 dropboxClient = getV2Client(suiteConfiguration);
"id:TMSaeghsn0AAAAAAAACV2w/ios.png").withAllowOwnershipTransfer(true).withAllowSharedFolder(true).withAutorename(true);
RelocationResult result = dropboxClient.files().moveV2(fromPath, toPath);
return result.getMetadata().getPathDisplay();
}
public static void moveFolder(SuiteConfiguration suiteConfiguration,
String fromPath,String toPath) throws RelocationErrorException, DbxException, InterruptedException {
DbxClientV2 dropboxClient = getV2Client(suiteConfiguration);
MoveV2Builder withAllowSharedFolder = dropboxClient.files().moveV2Builder(fromPath,toPath).withAllowOwnershipTransfer(true).withAllowSharedFolder(true).withAutorename(false);
RelocationResult result = withAllowSharedFolder.start();
}
Thank you for your help
- ЗдравкоLegendary | Level 20
Hi developersSave,
You can use moveV2 method to move/rename a file/folder. For different examples showing simple applications (hello world style), take a look here.
Hope this helps.
- developersSaveHelpful | Level 6
Hi Здравко
That's my code! I'm trying to get my new folder path from it dropbox id using getFolderPath() method, but it doesn't work.
After that, I use moveFile() method.public static String getFolderPath(SuiteConfiguration suiteConfiguration, String id) throws DbxException {
DbxClientV2 dropboxClient = getV2Move(suiteConfiguration);
String folderPath = "";
try {
Metadata metadata = dropboxClient.files().getMetadata(id);
if (metadata instanceof FolderMetadata) {
folderPath = ((FolderMetadata) metadata).getPathDisplay();
}
} catch (DbxException e) {
e.printStackTrace();
}
return folderPath;
}
public static FileMetadata moveFile(SuiteConfiguration suiteConfiguration,
String fromPath,String toPath) throws RelocationErrorException, DbxException {
DbxClientV2 dropboxClient = getV2Move(suiteConfiguration);
RelocationResult result = dropboxClient.files().moveV2(fromPath, toPath);
return (FileMetadata) result.getMetadata();
}
- ЗдравкоLegendary | Level 20
developersSave wrote:... I'm trying to get my new folder path from it dropbox id using getFolderPath() method, ...
developersSave, You don't need to get existing file/folder path from id. The id may be used on path's place instead. So, your 'getFolderPath' is meaningless here. Even more - what about files:
developersSave wrote:...
try {
Metadata metadata = dropboxClient.files().getMetadata(id);
if (metadata instanceof FolderMetadata) {
folderPath = ((FolderMetadata) metadata).getPathDisplay();
}
} catch (DbxException e) {
e.printStackTrace();
}
...
'FolderMetadata' Ok, but what about 'FileMetadata'? A valid object will leads to empty file name; of course incorrect when you pass it to 'moveFile'!
By the way, what kind of error your're receiving? There has to be a clear enough description. What do you exactly mean with "it doesn't work"? 🧐
About Discuss Dropbox Developer & API
Make connections with other developers
795 PostsLatest Activity: 7 days agoIf you need more help you can view your support options (expected response time for an email or ticket is 24 hours), or contact us on X or Facebook.
For more info on available support options for your Dropbox plan, see this article.
If you found the answer to your question in this Community thread, please 'like' the post to say thanks and to let us know it was useful!