将文件保存到阿里云上。

1.添加对象存储OSS空间 (新建Bucket)

可以在阿里云后台对象存储里面添加,也可以通过api添加。添加之后设置权限。

 

skd使用。

1安装 Aliyun.OSS.SDK (framework版,如果需要可以选择core版)

2.初始化。

在存储空间概览页面找到 EndPoint。

 

在设置appid和密钥

 

 

const string accessKeyId = "<your AccessKeyId>";

const string accessKeySecret = "<your AccessKeySecret>";

const string endpoint = "http://oss-cn-hangzhou.aliyuncs.com";

  • /// <summary>
  • /// 由用户指定的OSS访问地址、阿里云颁发的AccessKeyId/AccessKeySecret构造一个新的OssClient实例。
  • /// </summary>
  • /// <param name="endpoint">OSS的访问地址。</param>
  • /// <param name="accessKeyId">OSS的访问ID。</param>
  • /// <param name="accessKeySecret">OSS的访问密钥。</param>
  • var ossClient = new OssClient(endpoint, accessKeyId, accessKeySecret);

3.上传文件

 

复制代码
// 初始化OssClient
var client = new OssClient(endpoint, accessKeyId, accessKeySecret);
try
{
    string fileToUpload = "your local file path";
    client.PutObject(bucketName, key, fileToUpload);
    Console.WriteLine("Put object succeeded");
}
catch (Exception ex)
{
    Console.WriteLine("Put object failed, {0}", ex.Message);
}
上传本地文件
复制代码

 

复制代码
// 初始化OssClient
var client = new OssClient(endpoint, accessKeyId, accessKeySecret)
try
{
    string str = "a line of simple text";
    byte[] binaryData = Encoding.ASCII.GetBytes(str);            
    MemoryStream requestContent = new MemoryStream(binaryData);
    client.PutObject(bucketName, key, requestContent);
    Console.WriteLine("Put object succeeded");
}
catch (Exception ex)
{
    Console.WriteLine("Put object failed, {0}", ex.Message);
}
上传文件(byte[],stream等)
复制代码

其中key是要上传的文件名(可以要后缀也可以不要)

 

 

4.访问文件

 

复制代码
OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
    var listResult = client.ListObjects(bucketName);
    foreach (var summary in listResult.ObjectSummaries)
    {   
        Console.WriteLine(summary.Key);
    }
View Code
复制代码

 

 

 

5.删除文件

 

OssClient client = new OssClient(endpoint, accessKeyId, accessKeySecret);
	client.DeleteObject(bucketName, key)

 

参考:

对象存储 OSS > SDK 参考 > .NET: https://help.aliyun.com/document_detail/32087.html?spm=a2c4g.11186623.6.864.56364144Mi9xWt

github demo: https://github.com/aliyun/aliyun-oss-csharp-sdk

 

posted on   余昭(Ray)  阅读(2649)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
历史上的今天:
2017-09-09 该帐户当前被锁定,所以用户sa登录失败。系统管理员无法将该帐户解锁



点击右上角即可分享
微信分享提示