API | Operation | Description |
Downloading an object | Downloads an object to local | |
Querying object metadata | Queries the metadata of an object |
// 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.// `CosTransferManger` 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 `CosTransferManger`let cosTransferManger: CosTransferManger = Cos.getDefaultTransferManger();//let cosTransferManger: CosTransferManger = 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.let bucket = "examplebucket-1250000000";let cosPath = "exampleobject"; //Location identifier of the object in the bucket, i.e., the object keylet downliadPath = "Path of the local file"; // Path of the local file// Callback for successful downloadlet successCallBack = (header?: object) => {// TODO: Logic after successful download};// Callback for failed downloadlet failCallBack = (clientError?: CosXmlClientError, serviceError?: CosXmlServiceError) => {// TODO: Logic after failed downloadif (clientError) {console.log(clientError);}if (serviceError) {console.log(serviceError);}};// Callback for the download status, through which you can check the task processlet stateCallBack = (state: TransferState) => {// todo notify transfer state};// Callback for the download progresslet progressCallBack = (complete: number, target: number) => {// todo Do something to download progress...};// Start the downloadlet transferTask:TransferTask = await cosTransferManger.download(bucket,cosPath,downliadPath,{resultListener: {successCallBack: successCallBack,failCallBack: failCallBack},stateCallback: stateCallBack,progressCallback: progressCallBack});// Pause the tasktransferTask.pause();// Resume the tasktransferTask.resume();// Cancel the tasktransferTask.cancel();
Parameter | Description | Type | Required |
bucket | 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 |
TransferTask
is returned. You can pause, resume, or cancel the TransferTask
.CosXmlClientError
or CosXmlServiceError
exception reported in ResultListener's callback for failure. For more information, see Troubleshooting.
Was this page helpful?