下载对象

最后更新时间:2020-11-12 11:09:54

    简介

    本文档提供关于对象的下载操作相关的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    GET Object 下载对象 下载一个对象至本地

    SDK API 参考

    SDK 所有接口的具体参数与方法说明,请参考 SDK API

    高级接口(推荐)

    下载对象

    示例代码一: 下载对象

    // 初始化 TransferConfig
    TransferConfig transferConfig = new TransferConfig();
    
    // 初始化 TransferManager
    TransferManager transferManager = new TransferManager(cosXml, transferConfig);
    
    String bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID
    String cosPath = "exampleobject"; //对象在存储桶中的位置标识符,即称对象键
    string localDir = System.IO.Path.GetTempPath();//本地文件夹
    string localFileName = "my-local-temp-file"; //指定本地保存的文件名
    
    // 下载对象
    COSXMLDownloadTask downloadTask = new COSXMLDownloadTask(bucket, cosPath, 
      localDir, localFileName);
    
    downloadTask.progressCallback = delegate (long completed, long total)
    {
        Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total));
    };
    
    try {
      COSXML.Transfer.COSXMLDownloadTask.DownloadTaskResult result = await 
        transferManager.DownloadAsync(downloadTask);
      Console.WriteLine(result.GetResultInfo());
      string eTag = result.eTag;
    } catch (Exception e) {
        Console.WriteLine("CosException: " + e);
    }

    说明:

    更多完整示例,请前往 GitHub 查看。

    示例代码二: 批量下载

    TransferConfig transferConfig = new TransferConfig();
    
    // 初始化 TransferManager
    TransferManager transferManager = new TransferManager(cosXml, transferConfig);
    
    string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID
    string localDir = System.IO.Path.GetTempPath();//本地文件夹
    
    for (int i = 0; i < 5; i++) {
      // 下载对象
      string cosPath = "exampleobject" + i; //对象在存储桶中的位置标识符,即称对象键
      string localFileName = "my-local-temp-file"; //指定本地保存的文件名
      COSXMLDownloadTask downloadTask = new COSXMLDownloadTask(bucket, cosPath, 
        localDir, localFileName);
      await transferManager.DownloadAsync(downloadTask);
    }

    说明:

    更多完整示例,请前往 GitHub 查看。

    简单操作

    下载对象

    功能说明

    下载一个 Object(文件/对象)至本地(GET Object)。

    示例代码

    try
    {
      string bucket = "examplebucket-1250000000"; //存储桶,格式:BucketName-APPID
      string key = "exampleobject"; //对象键
      string localDir = System.IO.Path.GetTempPath();//本地文件夹
      string localFileName = "my-local-temp-file"; //指定本地保存的文件名
      GetObjectRequest request = new GetObjectRequest(bucket, key, localDir, localFileName);
      //设置进度回调
      request.SetCosProgressCallback(delegate (long completed, long total)
      {
        Console.WriteLine(String.Format("progress = {0:##.##}%", completed * 100.0 / total));
      });
      //执行请求
      GetObjectResult result = cosXml.GetObject(request);
      //请求成功
      Console.WriteLine(result.GetResultInfo());
    }
    catch (COSXML.CosException.CosClientException clientEx)
    {
      //请求失败
      Console.WriteLine("CosClientException: " + clientEx);
    }
    catch (COSXML.CosException.CosServerException serverEx)
    {
      //请求失败
      Console.WriteLine("CosServerException: " + serverEx.GetInfo());
    }

    说明:

    更多完整示例,请前往 GitHub 查看。

    Was this page helpful?

    本页内容是否解决了您的问题?

    • 完全没帮助
    • 文档较差
    • 文档一般
    • 文档不错
    • 文档很好
    反馈
    帮助