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

Forum Discussion

lazyCoder's avatar
lazyCoder
Explorer | Level 3
7 months ago

API-libcurl cannot use CURLOPT_RANGE or any other functions to resume to download files

Hi, I use libcurl to call the dropbox api to achieve some functions. When calling file/download, the download will be disconnected when the file exceeds 2G, so I want to implement the function o...
  • Greg-DB's avatar
    7 months ago

    First, for reference, can you elaborate on what you mean when you say "the download will be disconnected when the file exceeds 2G"? Do you mean you're seeing an issue from the Dropbox API servers that causes this, or are you referring to some local constraint in your environment?

     

    The Dropbox API servers should support downloading files larger than 2 GB via the /2/files/download endpoint. I just tried that out and I was able to successfully download a 5 GB file using one request, but please let us know if that's not working for you and you're seeing some server error. Please note though that there is a time limit of about 1 hour on these /2/files/download requests so you may just be running in to that, in which case resuming the download using Range requests is the best practice.

     

    Anyway, the Dropbox API does support Range requests for file downloads, such as via /2/files/download. The syntax you're using to specify the byte range does not look correct though; the Range value is not specified as JSON. There are some examples in that linked RFC, but here's an example of how it would look to set it on curl on the command line:

    --header 'Range: bytes=668909568-'