阿里雲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.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使用。
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM