tencent cloud

文档反馈

下载对象

最后更新时间:2024-01-22 11:36:39

    简介

    本文档提供关于对象的下载操作相关的 API 概览以及 SDK 示例代码。
    API
    操作名
    操作描述
    下载对象
    下载一个对象至本地
    查询对象元数据
    查询对象的元数据信息

    下载对象

    下载接口支持暂停、恢复以及取消下载请求,同时支持断点下载功能。

    示例代码: 下载对象

    // 高级下载接口支持断点续传,所以会在下载前先发起 HEAD 请求获取文件信息。
    // 如果您使用的是临时密钥或者使用子账号访问,请确保权限列表中包含 HeadObject 的权限。
    
    // CosTransferManger 支持断点下载,您只需要保证 bucket、cosPath、savePath
    // 参数一致,SDK 便会从上次已经下载的位置继续下载。
    
    // 获取 CosTransferManger
    let cosTransferManger: CosTransferManger = Cos.getDefaultTransferManger();
    //let cosTransferManger: CosTransferManger = Cos.getTransferManger(newRegion);
    // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    let 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,即100KB/s - 100MB/s)
    Int
    ResultListener
    下载结果回调(包括成功回调和失败回调)
    ResultListener
    StateCallBack
    下载状态回调
    StateCallBack
    ProgressCallBack
    下载进度回调
    ProgressCallBack

    返回结果说明

    成功:返回 TransferTask,可以对 TransferTask 进行暂停、恢复、取消操作。
    失败:发生错误(如身份认证失败),会在 ResultListener 的失败回调中抛出异常 CosXmlClientError 或者 CosXmlServiceError。详情请参见 异常处理
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持