OSS allows you to download data from a specified position of an object. When you download a large object, you can split it into multiple parts and download them at different points of time. If a download is paused or interrupted, you can also resume it at the paused or interrupted position.

Similar to simple upload, you must have the read permissions on the object. You can set the Range parameter to enable resumable download. We recommend that you use this feature to download large objects. For more information about the Range parameter, visit HTTP RFC. If the Range parameter is specified in the request header, the response contains the length of the entire object and the range returned in this response. For example, "Content-Range: bytes 0-9/44" indicates that the total size of the object is 44 bytes, and the range of data returned is the first 10 bytes. If the specified Range parameter value is invalid, the entire object is transmitted. The response excludes Content-Range. However, HTTP status code 206 is returned.

Implementation modes

Implementation mode Description
Java SDK SDK demos for various programming languages
Python SDK
Go SDK
C SDK
iOS SDK

Download security and authorization

  • To prevent unauthorized third-party users from downloading data from your bucket, OSS provides bucket- and object-level access control. For more information, see Overview.
  • For more information about how to authorize a third-party user to download objects from a private bucket, see Authorized third-party users to download objects.