OSS好几个都没有.Net示例,只有SDK

于是我就拿Java改成C#代码;使用前先去Nuget包管理器下载Aliyun.Acs.Core还有Aliyun.Acs.Sts;

在安装这个两个包的时候安装不了,可能因为是.Net Core的原因吧。

Nuget安装方式安装不了的,先去

https://github.com/aliyun/aliyun-openapi-net-sdk

下载这两个项目然后生成引用到自己项目中。

安装后复制下面的代码即可,记得要把bucketName改成自己bucket的名字

using Aliyun.Acs.Core.Exceptions;
using Aliyun.Acs.Sts.Model.V20150401;
using Aliyun.Acs.Core.Http;
using Aliyun.Acs.Core.Profile;
using Aliyun.Acs.Core;namespace Test
{public class OssServer{private const string REGION_CN_HANGZHOU = "cn-hangzhou";private const string STS_API_VERSION = "2015-04-01";private const string AccessKeyID = "****你的AccessKeyID****";private const string AccessKeySecret = "****你的AccessKeySecret****";private const string RoleArn = "****你的RoleArn****";private const int TokenExpireTime = 3600;//这里是权限配置,请参考oss的文档private const string PolicyFile = @"{""Statement"": [{""Action"": [""oss:PutObject""],""Effect"": ""Allow"",""Resource"": [""acs:oss:*:*:bucketName/*"", ""acs:oss:*:*:bucketName""]}],""Version"": ""1""
}"; private AssumeRoleResponse assumeRole(String accessKeyId, String accessKeySecret, String roleArn,String roleSessionName, String policy, ProtocolType protocolType, long durationSeconds){try{// 创建一个 Aliyun Acs Client, 用于发起 OpenAPI 请求IClientProfile profile = DefaultProfile.GetProfile(REGION_CN_HANGZHOU, accessKeyId, accessKeySecret);DefaultAcsClient client = new DefaultAcsClient(profile);// 创建一个 AssumeRoleRequest 并设置请求参数AssumeRoleRequest request = new AssumeRoleRequest();//request.Version = STS_API_VERSION;request.Method = MethodType.POST;//request.Protocol = protocolType;
request.RoleArn = roleArn;request.RoleSessionName = roleSessionName;request.Policy = policy;request.DurationSeconds = durationSeconds;// 发起请求,并得到responseAssumeRoleResponse response = client.GetAcsResponse(request);return response;}catch (ClientException e){throw e;}}public StsTokenModel GetToken(){// 只有 RAM用户(子账号)才能调用 AssumeRole 接口// 阿里云主账号的AccessKeys不能用于发起AssumeRole请求// 请首先在RAM控制台创建一个RAM用户,并为这个用户创建AccessKeys// RoleArn 需要在 RAM 控制台上获取// RoleSessionName 是临时Token的会话名称,自己指定用于标识你的用户,主要用于审计,或者用于区分Token颁发给谁// 但是注意RoleSessionName的长度和规则,不要有空格,只能有'-' '_' 字母和数字等字符// 具体规则请参考API文档中的格式要求string roleSessionName = "alice-001";// 必须为 HTTPStry{AssumeRoleResponse stsResponse = assumeRole(AccessKeyID, AccessKeySecret, RoleArn, roleSessionName,PolicyFile, ProtocolType.HTTPS, TokenExpireTime);return new StsTokenModel(){status = 200,AccessKeyId = stsResponse.Credentials.AccessKeyId,AccessKeySecret = stsResponse.Credentials.AccessKeySecret,Expiration = stsResponse.Credentials.Expiration,Security = stsResponse.Credentials.SecurityToken};}catch (ClientException e){return new StsTokenModel() { status = Convert.ToInt32(e.ErrorCode) };}}}
}    

GetToken()函数返回的STS凭据数据模型
    public class StsTokenModel{public int status { get; set; }public string AccessKeyId { get; set; }public string AccessKeySecret { get; set; }public string Security { get; set; }public string Expiration { get; set; }}

转载于:https://www.cnblogs.com/myhalo/p/6626530.html

阿里云OSS搭建移动应用直传服务的.Net C#示例相关推荐

  1. 阿里云oss搭建图床以及使用PicGO上传图片到图床

    阿里云oss搭建图床以及使用PicGO上传图片到图床 最近喜欢上了使用markdown来写博客,可是markdown的图片却是本地的,如果我要发博客到GitHub上,那么就不行了,GitHub上是不能 ...

  2. MarkText + iPic + 阿里云Oss 搭建markdown文档写作

    MarkText + iPic + 阿里云Oss 搭建markdown文档写作 本文记录如何下载配置MarkText编辑器以及如何使用iPic+阿里云的对象存储搭建一个markdown的图床 下载安装 ...

  3. 【报错记录】阿里云OSS搭建图床 访问报错

    使用阿里云OSS搭建图床后,在Typora中自动上传图片后,却无法显示图片,在浏览器中打开链接报错: <Error> <Code>NoSuchKey</Code> ...

  4. gitee图床用不了,阿里云OSS搭建图床(非常详细)

    文章目录 1. 购买阿里云oss对象存储服务 2. 新建OSS Bucket 3. 配置OSS资源访问域名 4. 配置picGO 4. 将gitee图床图片迁移到OSS中 最近,打开自己的markdo ...

  5. 阿里云OSS搭建图床

    在写markdown文档的时候,经常会想要插入一些图片来让文章变的尽可能的图文并茂,但是如果是托管到GitHub上的话,图片又不是太好处理,所以就有了今天的这篇文章. 搭建自己的图床的好处 再网上你可 ...

  6. NextCloud+阿里云OSS 搭建属于自己的私人网盘

    ​ 原文链接:ECHK1NG's 学习之路 ​ 近些年来各路网盘纷纷退市,只有为数不多的网盘还在死死坚持,例如百度网盘. NextCloud逐渐进入了人们的视野. 这几天搭建网盘的过程,遇到了许多问题 ...

  7. 【Typora丨Windows】图像设置:本地保存PicGo+阿里云OSS图床搭建

    图像链接语法:![替代文字](路径:本地路径/云端路径) 更多使用方法见:官方丨帮助丨Images in Typora 本地保存 '文件'->'偏好设置'->'图像',进入如下界面. 插入 ...

  8. 阿里云OSS对象存储搭建网盘教程

    阿里云OSS对象存储高可靠数据存储服务,使用OSS对象存储搭建个人网盘或企业网盘,存储可靠性高下载不限速,当然阿里云推出了自家的网盘,码笔记分享使用OSS对象存储搭建个人网盘或企业网盘的方法: 使用O ...

  9. 手把手教你Typora图床配置(PicGo+阿里云OSS/腾讯云COS)

    本文目录 ❤️Typora + PicGo +阿里云OSS图床 / 腾讯云COS图床配置思路❤️ ✨安装PicGo配置Typora(非常详细) 第一步:安装PicGo 第二步:配置Typora ✨云服 ...

最新文章

  1. PHP的Smarty
  2. Linux系统适配苹果M1 芯片的项目有新进展
  3. python数据分析张俊红_关于数据分析我们来聊聊Python
  4. Python入门100题 | 第077题
  5. 征战蓝桥 —— 2013年第四届 —— C/C++A组第7题——错误票据
  6. numpy维度交换_“lazy”的transpose()函数——从numpy 数组的内存布局讲起
  7. file_operations结构体
  8. Haproxy 管控台介绍
  9. 模拟天天酷跑游戏java_cocos2d 简单高仿天天酷跑游戏
  10. 参与社团活动的意义_大学参加社团活动有意义吗?
  11. 30分钟彻底弄懂flex布局
  12. 【笔记】vim如何删除重复行
  13. 英语音标、发音技巧、浊化规则
  14. Power BI 企业邮箱账户注册
  15. 热门在线项目管理工具
  16. 阿里云服务器|centos查看并发数调优
  17. 韩国首发元宇宙 5 年计划,市民可戴 VR 头显见政府官员
  18. 影视剧广告植入,对于品牌宣传有怎样的效果?
  19. Vista笔记本通过神州行手机无线上网
  20. facebook新闻页ListView优化

热门文章

  1. 万达与IBM联手发力公有云市场,为不让马云当首富王健林也是拼了
  2. 2020年物联网网络容量至少是目前的1000倍
  3. 深入探索.NET框架内部了解CLR如何创建运行时对象
  4. sql里判断字段是否为空值
  5. Oracle性能误区--MTS,RAC,分区,并行查询
  6. Android仿网易新闻导航栏PagerSlidingTabStrip
  7. Use a layout_width of 0dip instead of fill_parent for better performance
  8. Android 颜色设置:透明度换算
  9. Android Studio缓存文件夹配置
  10. struts2通过基于XML的配置实现校验没有提示信息