详情页标题前

阿里云对象存储OSS.NET快速入门-云淘科技

详情页1

本节介绍如何快速使用OSS .NET SDK完成常见操作,如创建存储空间、上传文件(Object)、下载文件等。

创建存储空间

存储空间是OSS的全局命名空间,相当于数据的容器,可以存储若干文件。

以下代码用于创建存储空间。

using Aliyun.OSS;
// 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");
// yourBucketName填写Bucket名称。
var bucketName = "yourBucketName";

// 创建OSSClient实例。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
    // 创建存储空间。
    var bucket = client.CreateBucket(bucketName);
    Console.WriteLine("Create bucket succeeded, {0} ", bucket.Name);
}
catch (Exception ex)
{
    Console.WriteLine("Create bucket failed, {0}", ex.Message);
}

上传文件

以下代码用于通过流式上传的方式将文件上传到OSS。

using Aliyun.OSS;

// 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";
// 填写本地文件完整路径,例如D:\localpath\examplefile.txt。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。
var localFilename = "D:\localpath\examplefile.txt";
// 创建OSSClient实例。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
    // 上传文件。
    var result = client.PutObject(bucketName, objectName, localFilename);
    Console.WriteLine("Put object succeeded, ETag: {0} ", result.ETag);
}
catch (Exception ex)
{
    Console.WriteLine("Put object failed, {0}", ex.Message);
}

下载文件

以下代码用于将指定的OSS文件下载到本地文件:

using Aliyun.OSS;
using Aliyun.OSS.Common;

// 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";
// 下载Object到本地文件examplefile.txt,并保存到指定的本地路径中(D:\localpath)。如果指定的本地文件存在会覆盖,不存在则新建。
// 如果未指定本地路径,则下载后的文件默认保存到示例程序所属项目对应本地路径中。
var downloadFilename = "D:\localpath\examplefile.txt";
// 创建OSSClient实例。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{   
    // 下载文件。
    var result = client.GetObject(bucketName, objectName);
    using (var requestStream = result.Content)
    {
        using (var fs = File.Open(downloadFilename, FileMode.OpenOrCreate))
        {
            int length = 4 * 1024;
            var buf = new byte[length];
            do
            {
                length = requestStream.Read(buf, 0, length);
                fs.Write(buf, 0, length);
            } while (length != 0);
        }
    }
    Console.WriteLine("Get object succeeded");
}
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);
}

列举文件

以下代码用于列举存储空间bucket下的文件。默认列举100个文件。

using Aliyun.OSS;
using Aliyun.OSS.Common;
// 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";
// 创建OSSClient实例。
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
    var objects = new List();
    ObjectListing result = null;
    string nextMarker = string.Empty;
    do
    {
        var listObjectsRequest = new ListObjectsRequest(bucketName)
        {
            Marker = nextMarker,
        };
        // 列举文件。
        result = client.ListObjects(listObjectsRequest);
        foreach (var summary in result.ObjectSummaries)
        {
            Console.WriteLine(summary.Key);
            objects.Add(summary.Key);
        }
        nextMarker = result.NextMarker;
    } while (result.IsTruncated);
    Console.WriteLine("List objects of bucket:{0} succeeded ", bucketName);
}
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);
}

删除文件

以下代码用于删除指定文件。

using Aliyun.OSS;
// 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
{
    // 删除文件。
    client.DeleteObject(bucketName, objectName);
    Console.WriteLine("Delete object succeeded");
}
catch (Exception ex)
{
    Console.WriteLine("Delete object failed, {0}", ex.Message);
}

相关文档

  • 上传文件

    • 关于上传文件的完整示例代码,请参见GitHub示例。

    • 关于上传文件的API接口说明,请参见PutObject。

  • 下载文件

    • 关于下载文件的完整示例代码,请参见GitHub示例。

    • 关于下载文件的API接口说明,请参见GetObject。

  • 列举文件

    • 关于列举文件的完整示例代码,请参见GitHub示例。

    • 关于列举文件的API接口说明,请参见GetBucket (ListObjects)。

  • 删除文件

    • 关于删除单个文件的完整示例代码,请参见GitHub示例。

    • 关于删除单个文件的API接口说明,请参见DeleteObject。

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

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

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

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

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

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

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

相关推荐

  • 阿里云对象存储OSS开通并授权访问OSS-HDFS服务-云淘科技

    本文介绍如何开通并授权访问OSS-HDFS服务。 前提条件 华东1(杭州)、华东2(上海)、华北1(青岛)、华北2(北京)、华北6(乌兰察布)、华南1(深圳)、华南3(广州)、华北3(张家口)、中国香港、日本(东京)、新加坡、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)、印度尼西亚(雅加达)地域的存储空间支持使用OSS-HDFS服务。无地域属性的存储空间…

    2023年12月10日
  • 阿里云对象存储OSS使用阿里云账号登录OSS管理控制台-云淘科技

    使用阿里云对象存储OSS管理控制台,您可以使用直观的界面进行相应的操作。本文介绍如何使用阿里云账号登录OSS管理控制台。 前提条件 已开通OSS服务。具体步骤,请参见开通OSS服务。 操作步骤 登录阿里云官网。 打开OSS管理控制台。 内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家阿里云企业补贴进行中: 马上申请腾讯云限时活动1折起,即将结束:…

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

    调用QueryUserOmsData查询OSS按小时计量的数据信息。 请求参数 名称 类型 是否必选 示例值 描述 Action String 是 QueryUserOmsData 系统规定参数,取值为QueryUserOmsData。 DataType String 是 Hour 计量数据时间类型,取值为Hour。 Table String 是 OSS 计…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSS异步处理-云淘科技

    异步处理(x-oss-async-process)适用于处理时间较长的场景,例如文档转换、视频转码、视频拼接、音频拼接。本文介绍如何使用文件URL、API和SDK等方式对存储于对象存储中的文件进行异步处理。 什么是异步处理 异步处理请求在返回时不会返回处理结果,需要配合另存为将处理结果持久化存储到对象存储中。另外建议通过使用消息通知获取异步任务的处理结果。更…

    阿里云对象存储 2023年12月10日
  • 阿里云对象存储OSSAndroid获取文件访问权限-云淘科技

    文件访问权限包括私有、公共读和公共读写三种。本文介绍如何获取文件(Object)的访问权限。 文件访问权限 文件访问权限包括如下三种: 文件访问权限 描述 私有 文件的拥有者和授权用户有该文件的读写权限,其他用户没有权限操作该文件。 公共读 文件的拥有者和授权用户有该文件的读写权限,其他用户只有文件的读权限。请谨慎使用该权限。 公共读写 所有用户都有该文件的…

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

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

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

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