简介
本文档提供关于对象的下载操作相关的 API 概览以及 SDK 示例代码。
API | 操作名 | 操作描述 |
下载对象 | 下载一个对象至本地 | |
查询对象元数据 | 查询对象的元数据信息 |
下载对象
下载接口支持暂停、恢复以及取消下载请求,同时支持断点下载功能。
示例代码: 下载对象
// 高级下载接口支持断点续传,所以会在下载前先发起 HEAD 请求获取文件信息。// 如果您使用的是临时密钥或者使用子账号访问,请确保权限列表中包含 HeadObject 的权限。// CosTransferManger 支持断点下载,您只需要保证 bucket、cosPath、savePath// 参数一致,SDK 便会从上次已经下载的位置继续下载。// 获取 CosTransferMangerlet cosTransferManger: CosTransferManger = Cos.getDefaultTransferManger();//let cosTransferManger: CosTransferManger = Cos.getTransferManger(newRegion);// 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucketlet bucket = "examplebucket-1250000000";let cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键let downliadPath = "本地文件的路径"; //保存到本地文件的路径// 下载成功回调let successCallBack = (header?: object) => {// todo 下载成功后的逻辑};//下载失败回调let failCallBack = (clientError?: CosXmlClientError, serviceError?: CosXmlServiceError) => {// todo 下载失败后的逻辑if (clientError) {console.log(clientError);}if (serviceError) {console.log(serviceError);}};//下载状态回调, 可以查看任务过程let stateCallBack = (state: TransferState) => {// todo notify transfer state};//下载进度回调let progressCallBack = (complete: number, target: number) => {// todo Do something to download progress...};//开始下载let transferTask:TransferTask = await cosTransferManger.download(bucket,cosPath,downliadPath,{resultListener: {successCallBack: successCallBack,failCallBack: failCallBack},stateCallback: stateCallBack,progressCallback: progressCallBack});//暂停任务//transferTask.pause();//恢复任务//transferTask.resume();//取消任务//transferTask.cancel();
参数说明
参数名称 | 描述 | 类型 | 是否必选 |
bucket | 桶名称,Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述 | String | 是 |
cosPath | 对象键 是对象在存储桶中的唯一标识。例如,在对象的访问域名 examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com/doc/picture.jpg 中,对象键为 doc/picture.jpg | String | 是 |
savePath | 下载保存到本地文件的绝对路径 | String | 是 |
versionId | 指定要下载的版本 ID | String | 否 |
trafficLimit | 单链接限速(限速值设置范围为 819200 - 838860800,单位为 bit/s,即800Kb/s - 800Mb/s) | Int | 否 |
ResultListener | 下载结果回调(包括成功回调和失败回调) | ResultListener | 否 |
StateCallBack | 下载状态回调 | StateCallBack | 否 |
ProgressCallBack | 下载进度回调 | ProgressCallBack | 否 |
返回结果说明
成功:返回 TransferTask,可以对 TransferTask 进行暂停、恢复、取消操作。
失败:发生错误(如身份认证失败),会在 ResultListener 的失败回调中抛出异常 CosXmlClientError 或者 CosXmlServiceError。详情请参见 异常处理。