[英]Uploading a png file to Azure Blob Storage is losing transparency
我們很難弄清楚如何將上傳png
文件上傳到Azure Blob存儲而不會丟失圖像透明度。
我們使用Azure的Storage SDK,代碼如下:
var storageAccount = CloudStorageAccount.Parse(*blob_connection_string*);
//create client to work with blobs
CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
//already created container via azure management portal, set container reference
CloudBlobContainer container = blobClient.GetContainerReference("brand");
foreach (string file in httpRequest.Files)
{
var postedFile = httpRequest.Files[file];
CloudBlockBlob blockBlob = container.GetBlockBlobReference(postedFile.FileName);
blockBlob.UploadFromStream(postedFile.InputStream);
}
我們嘗試在上傳之前強制使用ContentType屬性,如下所示:
blockBlob.Properties.ContentType = "image/png";
但無論是否有此屬性都無效。
那么,對於那些遇到這個問題的人,我們找到了一個解決方案:
問題在於使用Microsoft .Net Image對象。 根據MSDN,此對象僅適用於PNG 32位:
https://msdn.microsoft.com/pt-br/library/1kcb3wy4%28v=vs.110%29.aspx?f=255
我們已經更改了上傳例程,直接從輸入中獲取已發布的文件二進制文件,並像魅力一樣工作!
再次感謝為我們提供解決方案的想法!
擁抱
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.