将文件保存到阿里云上。

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);
}

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

阿里云Oss对象存储的更多相关文章

  1. iOS使用阿里云OSS对象存储 (SDK 2.1.1)

    最近项目中用到了阿里云OSS对象存储,用来存储APP中图片.音频等一些数据.但坑爹的阿里云居然在11月20日将SDK版本更新到了2.1.1,然而网上给出的教程都是1.*版本的(针对iOS),两个版本所 ...

  2. Java使用阿里云OSS对象存储上传图片

    原 Java使用阿里云OSS对象存储上传图片 2017年03月27日 10:47:28 陌上桑花开花 阅读数 26804更多 分类专栏: 工作案例总结 版权声明:本文为博主原创文章,遵循CC 4.0 ...

  3. SpringBoot整合阿里云OSS对象存储实现文件上传

    1. 准备工作: 一.首先登录阿里云OSS对象存储控制台创建一个Bucket作为你的存储空间. 二.创建Access Keyan按要求创建进行,这里的方法步骤我就不展现出来了,你们可以自行查询阿里云文 ...

  4. C# .net Ueditor实现图片上传到阿里云OSS 对象存储

    在学习的时候,项目中需要实现在Ueditor编辑器中将图片上传到云储存中,老师演示的是上传到又拍云存储,既然看了一遍,直接照搬不算本事,咱们可以依葫芦画瓢自己来动手玩玩其它的云存储服务. 现在云计算产 ...

  5. PHP 上传文件至阿里云OSS对象存储

    简述 1.阿里云开通对象存储服务 OSS 并创建Bucket 2.下载PHP SDK至框架扩展目录,点我下载 3.码上code 阿里云操作 开通对象存储服务 OSS 创建 Bucket 配置Acces ...

  6. 阿里云OSS对象存储 简单上传文件

    不得不说阿里云的命名比较让人摸不着头脑,开始以为是文件存储NAS,弄了半天什么文件系统,挂载点的搞不明白.后来才搞清楚原来 对象存储OSS才是我需要的. 其中EndPoint就是画红框的部分,但是要加 ...

  7. 阿里云OSS对象存储服务(一)

    一.开通"对象存储OSS"服务 申请阿里云账号 实名认证 开通"对象存储OSS"服务 进入管理控制台 二.控制台使用 1.创建Bucket 命名:guli-fi ...

  8. 阿里云OSS对象存储服务(二)

    一.使用SDK 在OSS的概览页右下角找到"Bucket管理",点击"OSS学习路径" 点击"Java SDK"进入SDK开发文档 二.创建 ...

  9. 阿里云oss对象存储配置CDN

    阿里云oss对象存储配置CDN 1.打开阿里云CDN 2.填写信息,这个地方要注意,我的备案域名是www.ljwXXX.work,我们可以自定义一个域名,test.ljwXXX.work作为加速域名. ...

随机推荐

  1. docker命令

    ## List Docker CLI commandsdockerdocker container --help ## Display Docker version and infodocker -- ...

  2. 编译原理 #01# 简易词法分析器(js实现)

    // 实验存档 效果图: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  3. 程序员 面试题【前端,java,php】

    跬步客 网址:https://www.kuibuke.com/wall/index

  4. 18B20驱动小经验

    在写命令时P14拉高在最后 在读命令时P14在拉低后拉高

  5. ip xfrm命令是做什么的?

    答: 设置xfrm.xfrm(transform configuration)是一个IP框架,用来转换数据包的格式,也就是使用算法来加密数据包,该框架用作IPsec协议的一部分 ip xfrm sta ...

  6. 分治(超级easy 不要看)

    P1226快速幂 #include<bits/stdc++.h> using namespace std; #define int long long ; int f(int b,int ...

  7. Cent OS & Windows 双系统自定义引导菜单

    系统环境 系统:Windows 10 (64-bit) & Cent OS 7 (64-bit) 引导程序:Grub2 编辑 grub.cfg 为了方便,在终端使用命令 su 输入密码进入超级 ...

  8. 【python 3】 函数 初识

    函数初识 1.函数的定义.调用.返回值 函数的定义.调用.返回值 def demo(): ## 定义函数 (def + 空格 + 函数名 + () + 冒号) ## 如下为函数体 return a # ...

  9. Vue-admin工作整理(十四):Vuex和双向绑定

    概述,普通的直接通过input修改值然后取是不符合vue的规格的,所有数据定义和传递必须通过actions或者mutation来做 思路:通过在mutation层对字段进行定义值,在store中通过v ...

  10. P2685 [TJOI2012]桥

    P2685 [TJOI2012]桥 思路: 先求出最短路: d1[u] : u 到 1 的最短路, d2[u] : u 到 n 的最短路 再求出一条从 1 到 n 的最短路链,然后从链上的每一个点出发 ...