2016-08-10 4 views
1

pngファイルをAzure Blobストレージにアップロードする方法を、画像の透明性を失うことなく理解するのが難しいです。Azure Blobストレージへのpngファイルのアップロード中に透明性が失われています

私たちは、以下のコードでのAzureのストレージSDKを使用している

:私たちは、このようにアップロードする前にContentTypeプロパティを強制しようとした

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); 

} 

blockBlob.Properties.ContentType = "image/png"; 

しかし、とどちらも動作しません。またはこの特性がない。

+0

Azure Blobストレージは単純なオブジェクトストアであり、イメージファイルは変更しないでください。元のファイルとBLOBストレージ内のファイルへのリンクを共有していただけますか? –

+0

最初に確認してください。Stream:postedFile.InputStreamはローカルファイルに書き込むことで有効です。 – GauravKP

+0

これはアップロードされたファイルです。https://c5ecommercedevstorage.blob.core.windows.net/brand/1-dove.png元のファイルは、透明性を備えたpng形式のGoogle画像ファイルです。 –

答えて

0

さて、この問題が発生している人のために、我々は解決策を見つけた:

問題は、Microsoft .NETのImageオブジェクトを使用していました。 MSDNにのみPNG 32ビットで、このオブジェクトの作業よると:

https://msdn.microsoft.com/pt-br/library/1kcb3wy4%28v=vs.110%29.aspx?f=255

を私たちは魔法のように入力し、仕事から投稿ファイルのバイナリの直接を取得するには、アップロード・ルーチンを変更しました!

このソリューションに私たちを導くアイデアをお寄せいただきありがとうございます。

ハグ

関連する問題