[C#][.NET Core] Azure Storage Blob 手把手從頭開始 - 建立檔案夾和檔案

2019-01-31

上一篇文章 Azure Storage Blob 手把手從頭開始 - 建立 我們建立一個 container 叫做 donmablogsample 並且上傳檔案,但是平常我們規劃檔案存放不可能只有放在 C:\ 根目錄吧,我們都會規劃檔案夾的概念來放檔案,這一篇主要目的就是建立起檔案夾然後裡面放入檔案

物換星移,似乎微軟要換成 v12 版本 了,  請參考新的文章 

這例子我將建立起一個檔案夾 TEST 然後在裡面放入 sampleText.json

var connsctionString = "your_connection_string"; var cloudStorage = Microsoft.WindowsAzure.Storage.CloudStorageAccount.Parse(connsctionString); //Check Contain is Existed. var cloudBlobClient = cloudStorage.CreateCloudBlobClient(); var cloudBlobContainer = cloudBlobClient.GetContainerReference("donmablogsample"); var resultCreateContainer = cloudBlobContainer.CreateIfNotExistsAsync().Result; //取得該檔案夾 TEST Microsoft.WindowsAzure.Storage.Blob.CloudBlobDirectory cloudBlobDirectory = cloudBlobContainer.GetDirectoryReference("TEST"); //在該檔案夾下面建立檔案 var bFileInfo = cloudBlobDirectory.GetBlockBlobReference("sampleText.json"); bFileInfo.Properties.ContentType = "application/json; charset=utf-8"; bFileInfo.UploadTextAsync("{\"data\":\"測試資料\"}").GetAwaiter().GetResult(); Console.WriteLine("Success Update File TEST/sampleText.json");



這邊有一個地方要注意的,如果你只有呼叫
Microsoft.WindowsAzure.Storage.Blob.CloudBlobDirectory cloudBlobDirectory =
     cloudBlobContainer.GetDirectoryReference("TEST");

但是你在檔案尚未上傳之前,如果你打開 Explorer 去看,是看不到那個檔案夾的

如果要上傳檔案夾中的檔案夾,這其實也很簡單
只要將 cloudBlobDirectory 加入指定只 "TEST2/TEST21/" 即可

Microsoft.WindowsAzure.Storage.Blob.CloudBlobDirectory cloudBlobDirectory =
     cloudBlobContainer.GetDirectoryReference("TEST2/TEST21/");


如果你覺得我寫得不好或是太簡單,請看下面的原文吧
reference:
https://docs.microsoft.com/en-us/azure/storage/blobs/storage-blobs-overview


當麻許的碎念筆記 2014 | Donma Hsu Design.