Need to see if your shared folder is taking up space on your dropbox 👨‍💻? Find out how to check here.

Forum Discussion

developersSave's avatar
developersSave
Helpful | Level 6
3 years ago
Solved

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!

  • developersSave's avatar
    developersSave
    3 years ago

    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

14 Replies

Replies have been turned off for this discussion
  • Здравко's avatar
    Здравко
    Legendary | Level 20
    3 years ago

    developersSave wrote:

    ...

    that's my method for folders, but it doesn't work (to and from path are both id:etcetc):

    ...



    Здравкоwrote:

    ... 'id' can be use as path in all cases where existing object is expected to be there. ...

    When you have non existing object (the target path), you can combine id and trailing part of the path. For instance if targetId is folder where you want to move your file to and filename.ext is the taget name for the file in that folder, then 'toPath' can look something like $targetId/filename.ext (combining id and path). ...


    developersSave, Read more careful what I have described already. Where you got the target ID from??? First of all there is no such file/folder yet! Next, the ID is the same, only name and/or path changes, so cannot be different source and target IDs. Be more careful!

    By the way, it's meaningless a batch operation for single move.

  • developersSave's avatar
    developersSave
    Helpful | Level 6
    3 years ago

    hi Здравко ,
    I get my folders and files id from database, I saved them after upload.

    If I need to move a sub-folder under my-app general folder, what have I to do?
    Example:

    Applications/My-App/folder-1/folder-2

    I've to move "folder-2" under "My-App" folder, but I don't have any id for this one.

    Thank you!

  • Здравко's avatar
    Здравко
    Legendary | Level 20
    3 years ago

    developersSave wrote:

    ...

    I've to move "folder-2" under "My-App" folder, but I don't have any id for this one.
    ...


    developersSave, You don't need id for your app namespace root folder. It's just empty. Pass an empty string instead of real ID. 😉 The concatenation can proceed without change.

  • developersSave's avatar
    developersSave
    Helpful | Level 6
    3 years ago

    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

About Discuss Dropbox Developer & API

Node avatar for Discuss Dropbox Developer & API
Make connections with other developers

The Dropbox Community team is active from Monday to Friday. We try to respond to you as soon as we can, usually within 2 hours.

If 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, Facebook or Instagram.

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!