日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

阿里云OSS存储开发

發布時間:2025/7/25 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 阿里云OSS存储开发 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Step 1. 初始化一個OSSClient
?? ??? ?OSSClient是與OSS服務交互的客戶端,SDK的OSS操作都是通過OSSClient完成的。

?? ??? ?下面代碼新建了一個OSSClient:? ???

using Aliyun.OpenServices.OpenStorageService;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace AliyunTest{class Program{static readonly string accessKeyId = "AccessKeyId";static readonly string accessKeySecret = "AccessKeySecret";//關于這個endPoint,可以參考:http://bbs.aliyun.com/read/149100.html?spm=5176.7189909.0.0.YiwiFwstatic readonly string endPoint = "http://oss-cn-beijing.aliyuncs.com";static void Main(string[] args){//初始化 OSSClientOssClient ossClient = new OssClient(endPoint, accessKeyId, accessKeySecret);//使用代碼... }}}

?? ???? 在上面代碼中,變量 accessKeyId 與 accessKeySecret 是由系統分配給用戶的,稱為ID對,用于標識用戶,為訪問OSS做簽名驗證。? ??? ?

Step 2. 新建Bucket
?? ??? ?Bucket是OSS上的命名空間,相當于數據的容器,可以存儲若干數據實體(Object)。

?? ??? ?你可以按照下面的代碼新建一個Bucket:? ??? ???????

/// <summary>/// 新建存儲對象容器Bucket/// </summary>/// <param name="bucketName">容器名稱</param>void CreateBucket(string bucketName){//初始化 OSSClientOssClient ossClient = new OssClient(endPoint, accessKeyId, accessKeySecret);// 新建一個Bucketvar bucket = ossClient.CreateBucket(bucketName);Console.WriteLine(bucket.CreationDate);}

?? ???? 由于Bucket的名字是全局唯一的,所以盡量保證你的 bucketName 不與別人重復。

?? ??? ?其實也可以在阿里云的OSS管理控制臺創建。


Step 3. 上傳Object
?? ??? ?Object是OSS中最基本的數據單元,你可以把它簡單地理解為文件,用下面代碼可以實現一個Object的上傳:
?? ??? ???????

/// <summary>/// 進行對象存儲/// </summary>/// <param name="bucketName">bucket名稱</param>void PutObject(string bucketName){//初始化 OSSClientOssClient ossClient = new OssClient(endPoint, accessKeyId, accessKeySecret);//定義文件流var objStream = new System.IO.FileStream("D:\\example\\test.jpg", System.IO.FileMode.OpenOrCreate);//定義 object 描述var objMetadata = new ObjectMetadata();var objKey = "test.jpg";//執行 put 請求,并且返回對象的MD5摘要。var putResult = ossClient.PutObject(bucketName, objKey, objStream, objMetadata);Console.WriteLine(putResult.ETag);}

?? ???? Object通過InputStream的形式上傳到OSS中。在上面的例子里我們可以看出,每上傳一個Object,都需要指定和Object關 聯的ObjectMetadata。ObjectMetaData是用戶對該object的描述,由一系列name-value對組成;其中 ContentLength是必須設置的,以便SDK可以正確識別上傳Object的大小。

?? ??? ?Put Object請求處理成功后,OSS會將收到文件的MD5值放在返回結果的ETag中。用戶可以根據ETag檢驗上傳的文件與本地的是否一致。

Step 4. 獲取指定Objec? ??? ???????

/// <summary>/// 獲取一個存儲對象/// </summary>/// <param name="bucketName">bucket名稱</param>/// <param name="objKey">對象標識名稱</param>void GetObject(string bucketName, string objKey){//初始化 OSSClientOssClient ossClient = new OssClient(endPoint, accessKeyId, accessKeySecret);//獲取對象var obj = ossClient.GetObject(bucketName, objKey);//獲取Object的輸入流var objStream = obj.Content;//怎么處理數據流,您看著辦吧。//...//最后關閉數據流。 objStream.Close();}

?

轉載于:https://www.cnblogs.com/zhaoyifan123/p/6080405.html

總結

以上是生活随笔為你收集整理的阿里云OSS存储开发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。