We are aware of the issue with the badge emails resending to everyone, we apologise for the inconvenience - learn more here.

Forum Discussion

136446's avatar
136446
Explorer | Level 3
7 years ago

Getting downloading link of files in Dropbox automatically

I have some huge images in a folder on the web version of Dropbox that I need to make a shell script to download them one by one (There isn't enough room on my SDD and can't download the whole folder). I know using "wget" I can download a file:

wget link_to_the_file

However since I have many images it is not feasible to get the download link of each of them manually. I'm looking for a way of obtaining downloading link for each of them through the shell. Any suggestions?

  • There isn’t a way to download each image sequentially while logged into your account, or to generate links for each one in bulk.
     
    However, there is a small workaround using shared links and forcing files to render on the site.
     
    If you share a link to the entire folder, each image should be visible there. Now, since you can’t download the entire folder in bulk due to space constraints, you can make a script to download the images in turn, by slightly modifying the link. 
     
    Here’s an example of what I mean. If your shared folder links to the following location:
     
     
    Then an image in that folder would have the URL as:
     
     
    Note that the first portion of that folder, https://www.dropbox.com/sh/xiuioh21409nsj5j/, is the same, whereas the rest are different since each image has it’s own link.
     
    To automatically download the image, using the Dropbox site itself, just change the dl=0 to dl=1.
     
    However, wget needs the original file, not a URL redirect to a download. Dropbox can render images by changing the ending to raw=1. So your script would look like:
     
    wget https://www.dropbox.com/sh/xiuioh21409nsj5j/AAkanlaoidsgmq90mdg/DCIM0001.png?raw=1
     
    This would download the DCIM0001.png image directly.
     
    If your script can scrape the URLs from the shared link page, then change the last part of the URL to suit your needs, and enter it into a terminal/command prompt or batch file, then you can do it.
     
    Admittedly, this isn’t the easiest of things to do, and this will contribute to the daily bandwidth allowance for your account, however, this might help with your unique situation.
  • Rich's avatar
    Rich
    Icon for Super User II rankSuper User II

    wrote:

    I'm looking for a way of obtaining downloading link for each of them through the shell. Any suggestions?


    There is no such function available within the Dropbox app or website. Share links can only be created manually, one at a time.

     

    If you have any programming skills you may be able to use the Dropbox API to generate the links en masse.

    • Jay's avatar
      Jay
      Icon for Dropbox Staff rankDropbox Staff
      There isn’t a way to download each image sequentially while logged into your account, or to generate links for each one in bulk.
       
      However, there is a small workaround using shared links and forcing files to render on the site.
       
      If you share a link to the entire folder, each image should be visible there. Now, since you can’t download the entire folder in bulk due to space constraints, you can make a script to download the images in turn, by slightly modifying the link. 
       
      Here’s an example of what I mean. If your shared folder links to the following location:
       
       
      Then an image in that folder would have the URL as:
       
       
      Note that the first portion of that folder, https://www.dropbox.com/sh/xiuioh21409nsj5j/, is the same, whereas the rest are different since each image has it’s own link.
       
      To automatically download the image, using the Dropbox site itself, just change the dl=0 to dl=1.
       
      However, wget needs the original file, not a URL redirect to a download. Dropbox can render images by changing the ending to raw=1. So your script would look like:
       
      wget https://www.dropbox.com/sh/xiuioh21409nsj5j/AAkanlaoidsgmq90mdg/DCIM0001.png?raw=1
       
      This would download the DCIM0001.png image directly.
       
      If your script can scrape the URLs from the shared link page, then change the last part of the URL to suit your needs, and enter it into a terminal/command prompt or batch file, then you can do it.
       
      Admittedly, this isn’t the easiest of things to do, and this will contribute to the daily bandwidth allowance for your account, however, this might help with your unique situation.
      • 136446's avatar
        136446
        Explorer | Level 3

        Thanks. It is strange that

        dropbox doesn't have any solution for this! Your workaround is quite good, there is only one issue: as you mentioned in thelink for each image there is a unique (seems to be unique) string. So if you wanna make a script to download the images without manually copying its link, how do you get the full link of that image including the unique part?

About View, download, and export

Need support with viewing, downloading, and exporting files and folders from your Dropbox account? Find help from the Dropbox Community.

Need more support

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 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!