详情页标题前

阿里云对象存储OSS.NET进度条-云淘科技

详情页1

进度条用于指示上传或下载的进度。

注意事项

  • 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。
  • 本文以OSS域名新建OSSClient为例。如果您希望通过自定义域名、STS等方式新建OSSClient,请参见.NET初始化。

示例代码

下面的代码以GetObject方法为例,介绍如何使用进度条。

using System;
using System.IO;
using Aliyun.OSS;
using Aliyun.OSS.Common;
namespace GetObjectProgress
{
    class Program
    {
        static void Main(string[] args)
        {
            Program.GetObjectProgress();
            Console.ReadKey();
        }
        public static void GetObjectProgress()
        {
            // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。
            var endpoint = "yourEndpoint";
            // 从环境变量中获取访问凭证。运行本代码示例之前,请确保已设置环境变量OSS_ACCESS_KEY_ID和OSS_ACCESS_KEY_SECRET。
            var accessKeyId = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_ID");
            var accessKeySecret = Environment.GetEnvironmentVariable("OSS_ACCESS_KEY_SECRET")
            // 填写Bucket名称,例如examplebucket。
            var bucketName = "examplebucket";
            // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
            var objectName = "exampledir/exampleobject.txt";
            // 创建OSSClient实例。
            var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
            try
            {
                var getObjectRequest = new GetObjectRequest(bucketName, objectName);
                getObjectRequest.StreamTransferProgress += streamProgressCallback;
                // 下载文件。
                var ossObject = client.GetObject(getObjectRequest);
                using (var stream = ossObject.Content)
                {
                    var buffer = new byte[1024 * 1024];
                    var bytesRead = 0;
                    while ((bytesRead = stream.Read(buffer, 0, buffer.Length)) > 0)
                    {
                        // 处理读取的数据(此处代码省略)。
                    }
                }
                Console.WriteLine("Get object:{0} succeeded", objectName);
            }
            catch (OssException ex)
            {
                Console.WriteLine("Failed with error code: {0}; Error info: {1}. 
RequestID:{2}	HostID:{3}",
                    ex.ErrorCode, ex.Message, ex.RequestId, ex.HostId);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Failed with error info: {0}", ex.Message);
            }
        }
        private static void streamProgressCallback(object sender, StreamTransferProgressArgs args)
        {
            System.Console.WriteLine("ProgressCallback - Progress: {0}%, TotalBytes:{1}, TransferredBytes:{2} ",
                args.TransferredBytes * 100 / args.TotalBytes, args.TotalBytes, args.TransferredBytes);
        }
    }
}

相关文档

关于下载文件的进度条使用方法的完整示例代码,请参见GitHub示例。

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家

阿里云企业补贴进行中: 马上申请

腾讯云限时活动1折起,即将结束: 马上收藏

同尘科技为腾讯云授权服务中心。

购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠

转转请注明出处:https://www.yunxiaoer.com/158454.html

(0)
上一篇 2023年12月10日
下一篇 2023年12月10日
详情页2

相关推荐

  • 阿里云对象存储OSSRuby快速入门-云淘科技

    本文介绍如何快速使用OSS Ruby SDK完成常见操作,例如创建存储空间(Bucket)、上传文件(Object)、下载文件等。 创建存储空间 存储空间是OSS的全局命名空间,相当于数据的容器,可以存储若干文件。 require ‘aliyun/oss’ client = Aliyun::OSS::Client.new( # Endpoint以华东1(杭州…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSSPython判断存储空间是否存在-云淘科技

    存储空间(Bucket)是存储对象(Object)的容器。对象均隶属于存储空间。本文介绍如何判断存储空间是否存在。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。 本文以从环境变量读…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSS404错误-云淘科技

    本文介绍OSS返回404错误的原因和解决方案。 KeyNotFound The specified parameter KMS keyId is not found 问题原因:未找到指定的CMK。 解决方案:确认已开通KMS服务并填写正确的CMK ID,CMK ID示例值为9468da86-3509-4f8d-a61e-6eab1eac****。详情请参见设…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSSJava进度条-云淘科技

    进度条用于指示上传或下载文件的进度。本文以ossClient.putObject方法为例,介绍如何使用进度条。 注意事项 本文以华东1(杭州)外网Endpoint为例。如果您希望通过与OSS同地域的其他阿里云产品访问OSS,请使用内网Endpoint。关于OSS支持的Region与Endpoint的对应关系,请参见访问域名和数据中心。 本文以从环境变量读取访…

    阿里云对象存储 2023年12月10日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云对象存储OSSAPI概览-云淘科技

    本文介绍对象存储OSS提供的相关API接口及其各API接口的用法。 关于Service操作 API 描述 ListBuckets(GetService) 返回请求者拥有的所有存储空间(Bucket)。 关于Region操作 API 描述 DescribeRegions 查询所有支持地域或者指定地域对应的Endpoint信息。 关于Bucket操作 分类 AP…

    阿里云对象存储 2023年12月10日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。