tencent cloud

All product documents
Cloud Object Storage
Downloading Objects
Last updated: 2024-02-02 14:40:45
Downloading Objects
Last updated: 2024-02-02 14:40:45

Overview

This document provides an overview of APIs and SDK code samples for downloading an object.
API
Operation
Description
Downloading an object
Downloads an object to local
Querying object metadata
Queries the metadata of an object

Downloading an object

The download API allows you to pause, resume (via checkpoint restart), or cancel a download task.

Sample code:

// The advanced download API supports checkpoint restart. Therefore, a HEAD request will be sent before the download to obtain the file information.
// If you are using a temporary key or accessing with a sub-account, ensure that your permission list includes HeadObject.

// `TransferManager` supports checkpoint restart for download. You only need to ensure the consistency of parameters `bucket`, `cosPath`, and `savePath`.
// Then the SDK will resume the download from where interrupted.

// Get the `TransferManager`
CosTransferManger transferManager = Cos().getDefaultTransferManger();
//CosTransferManger transferManager = Cos().getTransferManger("newRegion");
// Bucket name in the format of `BucketName-APPID` (`APPID` is required), which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
String bucket = "examplebucket-1250000000";
String cosPath = "exampleobject"; // Location identifier of the object in the bucket, i.e., the object key
String downliadPath = "Absolute path of the local file"; // Absolute path of the local file

// Callback for successful download
successCallBack(result) {
// TODO: Logic after successful download
}
// Callback for failed download
failCallBack(clientException, serviceException) {
// TODO: Logic after failed download
if (clientException != null) {
print(clientException);
}
if (serviceException != null) {
print(serviceException);
}
}
// Callback for the download status, through which you can check the task process
stateCallback(state) {
// todo notify transfer state
}
// Callback for the download progress
progressCallBack(complete, target) {
// todo Do something to download progress...
}
// Start the download
TransferTask transferTask = await transferManager.download(bucket, cosPath, downliadPath,
resultListener: ResultListener(successCallBack, failCallBack),
stateCallback: stateCallback,
progressCallBack: progressCallBack
);
// Pause the task
transferTask.pause();
// Resume the task
transferTask.resume();
// Cancel the task
transferTask.cancel();

Parameter description

Parameter
Description
Type
Required
bucket
Bucket name in the format of BucketName-APPID. For more information, see Bucket Overview.
String
Yes
cosPath
Object key, which uniquely identifies an object in a bucket. For example, if an object's access endpoint is examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/picture.jpg, its key is doc/picture.jpg.
String
Yes
savePath
Absolute local path to save the downloaded file
String
Yes
versionId
Version ID of the object to be downloaded
String
No
trafficLimit
Bandwidth limit for a single request in bit/s. Value range: 819200–838860800, i.e., 100 KB/s - 100 MB/s.
Int
No
ResultListener
Callback for the download result (including success and failure)
ResultListener
No
StateCallBack
Callback for the download status
StateCallBack
No
ProgressCallBack
Callback for the download progress
ProgressCallBack
No

Response description

Success: TransferTask is returned. You can pause, resume, or cancel the TransferTask. -Failure: An error occurs (such as authentication failure), with a CosXmlClientException or CosXmlServiceException exception reported in ResultListener's callback for failure. For more information, see Troubleshooting.
Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 available.

7x24 Phone Support