簡體   English   中英

在Azure存儲中獲取文件類型

[英]Getting the File type in Azure Storage

是否可以在Azure存儲中獲取圖像文件或Blob的文件類型? 我已經研究了一切,但無濟於事。 任何回應將不勝感激! 我想知道,有什么我可以添加以獲得的嗎? 這是我的代碼:

ImageSource wew=new BitmapImage(new Uri("http://sweetapp.blob.core.windows.net/cakepictures/"+newfilename+filetypeofthepicture, UriKind.RelativeOrAbsolute)); //need to get the file type of the image
CakeData.Add(new CakeData { Cakename = item.Cakename, ImagePath = wew });

每個Blob都有一個稱為Content-Type的屬性,可以在上傳Blob時進行設置。 您可以利用Storage Client Library來獲取Blob屬性,以獲取其內容類型屬性。 如果使用的是.Net Storage Client Library,則可以使用以下代碼:

    var blob = new CloudBlockBlob(new Uri("blob uri"), new StorageCredentials("sweetapp", "account key"));
    blob.FetchAttributes();
    var contentType = blob.Properties.ContentType;

但是,這將要求您在客戶端應用程序中包括憑據。 如果您不想這樣做,則另一種選擇是使用Shared Access Signature Token並使用它來創建StorageCredentials對象的實例。 您可以在服務器上的某個位置創建此SAS令牌。

    var credentials = new StorageCredentials(sasToken);
    var blob = new CloudBlockBlob(new Uri("blob uri"), credentials);
    blob.FetchAttributes();
    var contentType = blob.Properties.ContentType;

第三種選擇是訪問注冊表並根據文件擴展名獲取mime類型,但我不確定Windows 8應用程序是否可以訪問注冊表。

最后一種選擇是對應用程序中的硬代碼進行填充。 有一組預定義的mime類型,您可以在應用程序中對其進行硬編碼,並根據文件的擴展名來檢索內容類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM