将png文件上传到Azure Blob Storage会失去透明度
本文关键字:Storage Blob 失去 透明度 Azure png 文件 | 更新日期: 2023-09-27 18:01:48
我们很难弄清楚如何上传png
文件到Azure Blob Storage而不丢失图像透明度。
我们正在使用Azure的存储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
我们已经更改了上传例程,以直接从输入中获取发布的文件二进制,并且工作得很好!
再次感谢你的想法,是你让我们找到了这个解决方案!
拥抱