tencent cloud

文档反馈

下载对象

最后更新时间:2024-01-05 16:09:42

    简介

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

    下载对象

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

    示例代码: 下载对象

    // 高级下载接口支持断点续传,所以会在下载前先发起 HEAD 请求获取文件信息。
    // 如果您使用的是临时密钥或者使用子账号访问,请确保权限列表中包含 HeadObject 的权限。
    
    // TransferManager 支持断点下载,您只需要保证 bucket、cosPath、savePath
    // 参数一致,SDK 便会从上次已经下载的位置继续下载。
    
    // 获取 TransferManager
    CosTransferManger transferManager = Cos().getDefaultTransferManger();
    //CosTransferManger transferManager = Cos().getTransferManger("newRegion");
    // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    String bucket = "examplebucket-1250000000";
    String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
    String downliadPath = "本地文件的绝对路径"; //保存到本地文件的绝对路径
    
    // 下载成功回调
    successCallBack(result) {
    // todo 下载成功后的逻辑
    }
    //下载失败回调
    failCallBack(clientException, serviceException) {
    // todo 下载失败后的逻辑
    if (clientException != null) {
    print(clientException);
    }
    if (serviceException != null) {
    print(serviceException);
    }
    }
    //下载状态回调, 可以查看任务过程
    stateCallback(state) {
    // todo notify transfer state
    }
    //下载进度回调
    progressCallBack(complete, target) {
    // todo Do something to download progress...
    }
    //开始下载
    TransferTask transferTask = await transferManager.download(bucket, cosPath, downliadPath,
    resultListener: ResultListener(successCallBack, 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 的失败回调中抛出异常 CosXmlClientException 或者 CosXmlServiceException。详情请参见 异常处理
    联系我们

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

    技术支持

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

    7x24 电话支持