簡體   English   中英

將png文件上載到Azure Blob存儲正在失去透明度

[英]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.

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