开发者社区> sunshine.pl> 正文

阿里云OSS NET SDK 引用示范程序

简介: 1.引入SDK bin文件,下载地址:https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/internal/oss/0.0.4/assets/sdk/OSS_SDK_DOTNET_2_3_0.
+关注继续查看
1.引入SDK bin文件,下载地址:https://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/internal/oss/0.0.4/assets/sdk/OSS_SDK_DOTNET_2_3_0.zip?spm=5176.doc32085.2.3.dH1Os6&file=OSS_SDK_DOTNET_2_3_0.zip
2.源代码:

using System; using System.Collections.Generic; using Aliyun.OSS; namespace TaoYe { /// <summary> /// 快速入门示例程序    /// </summary> public static class SimpleSamples { private const string _accessKeyId = "<your AccessKeyId>"; private const string _accessKeySecret = "<your AccessKeySecret>"; private const string _endpoint = "<valid host name>"; private const string _bucketName = "<your bucket name>"; private const string _key = "<your key>"; private const string _fileToUpload = "<your local file path>"; private static OssClient _client = new OssClient(_endpoint, _accessKeyId, _accessKeySecret); public static void Main(string[] args) { CreateBucket(); SetBucketAcl(); GetBucketAcl(); PutObject(); ListObjects(); GetObject(); DeleteObject(); // DeleteBucket(); Console.WriteLine("Press any key to continue . . . "); Console.ReadKey(true); } /// <summary> /// 创建一个新的存储空间 /// </summary> private static void CreateBucket() { try { var result = _client.CreateBucket(_bucketName); Console.WriteLine("创建存储空间{0}成功", result.Name); } catch (Exception ex) { Console.WriteLine("创建存储空间失败. 原因:{0}", ex.Message); } } /// <summary> /// 上传一个新文件 /// </summary> private static void PutObject() { try { _client.PutObject(_bucketName, _key, _fileToUpload); Console.WriteLine("上传文件成功"); } catch (Exception ex) { Console.WriteLine("上传文件失败.原因: {0}", ex.Message); } } /// <summary> /// 列出存储空间内的所有文件 /// </summary> private static void ListObjects() { try { var keys = new List<string>(); ObjectListing result = null; string nextMarker = string.Empty; /// 由于ListObjects每次最多返回100个结果,所以,这里需要循环去获取,直到返回结果中IsTruncated为false do { var listObjectsRequest = new ListObjectsRequest(_bucketName) { Marker = nextMarker, MaxKeys = 100 }; result = _client.ListObjects(listObjectsRequest); foreach (var summary in result.ObjectSummaries) { keys.Add(summary.Key); } nextMarker = result.NextMarker; } while (result.IsTruncated); Console.WriteLine("列出存储空间中的文件"); foreach (var key in keys) { Console.WriteLine("文件名称:{0}", key); } } catch (Exception ex) { Console.WriteLine("列出存储空间中的文件失败.原因: {0}", ex.Message); } } /// <summary> /// 下载文件 /// </summary> private static void GetObject() { try { var result = _client.GetObject(_bucketName, _key); Console.WriteLine("下载的文件成功,名称是:{0},长度:{1}", result.Key, result.Metadata.ContentLength); } catch (Exception ex) { Console.WriteLine("下载文件失败.原因:{0}", ex.Message); } } /// <summary> /// 删除文件 /// </summary> private static void DeleteObject() { try { _client.DeleteObject(_bucketName, _key); Console.WriteLine("删除文件成功"); } catch (Exception ex) { Console.WriteLine("删除文件失败.原因: {0}", ex.Message); } } /// <summary> /// 获取存储空间ACL的值 /// </summary> private static void GetBucketAcl() { try { var result = _client.GetBucketAcl(_bucketName); foreach (var grant in result.Grants) { Console.WriteLine("获取存储空间权限成功,当前权限:{0}", grant.Permission.ToString()); } } catch (Exception ex) { Console.WriteLine("获取存储空间权限失败.原因: {0}", ex.Message); } } /// <summary> /// 设置存储空间ACL的值 /// </summary> private static void SetBucketAcl() { try { _client.SetBucketAcl(_bucketName, CannedAccessControlList.PublicRead); Console.WriteLine("设置存储空间权限成功"); } catch (Exception ex) { Console.WriteLine("设置存储空间权限失败. 原因:{0}", ex.Message); } } /// <summary> /// 删除存储空间 /// </summary> private static void DeleteBucket() { try { _client.DeleteBucket(_bucketName); Console.WriteLine("删除存储空间成功"); } catch (Exception ex) { Console.WriteLine("删除存储空间失败", ex.Message); } } } }


关于:

https://help.aliyun.com/document_detail/32085.html?spm=5176.doc32086.6.268.ahRddG (API文档的原文地址)

_accessKeyId 和 _accessKeySecret 是管理控制台里的key-value(需要注意别暴露在外面)
_endpoint 是域名,OSS控制台里能绑定自己的域名,没有自己的域名也无妨,默认是阿里云提供的域名地址
_bucketName 是OSS里面的文件夹名
_key是需要存储的文件名
_fileToUpload则是文件路径


以上,能实现简单的OSS使用。
 
 
 
 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句
bboss持久层改进支持模块sql配置文件引用其它模块sql配置文件中sql语句。 具体使用方法如下: sqlfile:指定引用sql语句所在的配置文件 sqlname:指定引用sql语句所在的配置文件中的sql语句名称。
727 0
.NET Interop.SHDocVw和MSHTML引用如何操作
Interop.SHDocVw:引用Com:Microsoft HTML Object Library 和 Microsoft Internet Controls MSHTML:引用--》COM--》Microsoft HTML Object Library
790 0
初探云世界,阿里ECS引路——使用阿里云ECS快速入门个人建站有感
作为一名文科出身,又菜又爱玩的互联网开发新人,我曾因复杂的操作、艰深的理论和未知的投入屡次放弃从小的梦想——建设个人网站。 但是这个夏天,阿里云ECS圆了我的建站梦。在这里,有大量的教程供不知所措的新手从头学习;有简洁明了的界面指引我设置好建站所需的各种要素;最重要的是“飞天加速计划”给高校学生的宝贵实践机会。借此之力,我仅仅用了数小时便完成了建设个人博客的基础设置,但其中也不乏挑战与感悟。希望阿里云能有更多学生优惠,也希望自己在未来能用ECS做更多的事情。
188 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
30432 0
从一个AFNetworking循环引用说起
本文分析使用代码是AFNetworking 3.2.1 最近使用Instruments中的Leaks分析项目内存泄露,发现了一个AFNetworking的循环引用。
1280 0
免运维,低成本,应用上云新模式 | 阿里云Serverless应用引擎 SAE 邀您公测
您是否遇到过: 资源利用率低,多数服务器CPU平均利用率在10%以下,用户需为大量闲置资源买单。 感知 IaaS 购买和集群运维,人员技能要求高,运维效率低。 想拥抱 Kubernetes、微服务架构来解决业务痛点,但学习曲线陡。
9556 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,大概有三种登录方式:
14191 0
+关注
sunshine.pl
我是默卿,是一个可爱的蓝孩子,半个ACG爱好者,生活在1.5次元,后端小萌新,喜欢各种有趣的事物。
77
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载