[英]Is there a default image type for Azure Blob Storage?
當我將jpg圖像上傳到Azure Blob存儲時,再將其拉出時,它總是以png的形式返回。 這是可以假定的默認值嗎? 我找不到任何文檔。 當我將擴展名從容器中拉出存儲擴展名時,我可以在字節轉換中輕松地將其轉換回jpg,但是我可以安全地假定存儲在Azure Blob存儲中的任何圖像類型都是png嗎?
最好不要假設png是默認值。 我認為這取決於您的上傳機制以及您在上傳過程中為文件指定的名稱。
但是我可以安全地假設Azure Blob存儲中存儲的任何圖像類型都是以png格式完成的
據我所知,blob存儲沒有默認的文件類型。 它包含一個內容類型 ,可以告訴用戶文件的內容類型。 如果設置,則斑點名稱為xxx.jpg。 然后它將xxx.jpg存儲在Blob存儲中。
這是一個例子。
CloudStorageAccount storageAccount = CloudStorageAccount.Parse("connection string");
// Create the blob client.
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
// Retrieve a reference to a container.
CloudBlobContainer container = blobClient.GetContainerReference("mycontainer");
// Create the container if it doesn't already exist.
container.CreateIfNotExists();
CloudBlockBlob blockBlob = container.GetBlockBlobReference("brandotest.jpg");
// Create or overwrite the "myblob" blob with contents from a local file.
using (var fileStream = System.IO.File.OpenRead(@"D:\1.PNG"))
{
blockBlob.UploadFromStream(fileStream);
}
結果:
通過使用Storage Explorer,您可以在Blob存儲中找到圖像的類型。 這是brandotest.jpg。
我猜您在使用代碼下載時設置了下載圖像文件的類型。
像這樣(我將下載文件的路徑設置為myfile.png):
CloudBlockBlob blockBlob = container.GetBlockBlobReference("brandotest.jpg");
// Save blob contents to a file.
using (var fileStream = System.IO.File.OpenWrite(@"D:\authserver\myfile.png"))
{
blockBlob.DownloadToStream(fileStream);
}
結果將是myfile.png。
總而言之,您下載到本地或上傳到Blob的文件類型取決於您使用代碼獲取或上傳文件時的設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.