2017-02-21 9 views
0

私はBASE64にAzureのブロブストレージからイメージを変換しようとしている:紺碧のBLOBストレージからBase64にイメージを変換しますか?

private static string FromAzureToBase64(string azureUri) 
{ 
    Uri blobUri = new Uri(azureUri); 
    CloudBlockBlob blob = new CloudBlockBlob(blobUri, StorageAccount.Credentials); 

    byte[] arr = new byte[blob.Properties.Length]; 
    blob.DownloadToByteArray(arr, 0); 
    var azureBase64 = Convert.ToBase64String(arr); 
    return azureBase64; 
} 

arrパラメータでの問題は、私はその長さを定義する必要があることですが、blob.Properties.Lengthの値が-1である、しかし、画像が上に存在しますアズールが、nullまたは未指定のいずれかで、ほぼすべてのプロパティ:あなたは何ができるか

enter image description here

答えて

6

はブロブのプロパティを取得して、ブロブのlengthプロパティが移入されますです。したがって、コードは次のようになります。

private static string FromAzureToBase64(string azureUri) 
{ 
    Uri blobUri = new Uri(azureUri); 
    CloudBlockBlob blob = new CloudBlockBlob(blobUri, StorageAccount.Credentials); 
    blob.FetchAttributes();//Fetch blob's properties 
    byte[] arr = new byte[blob.Properties.Length]; 
    blob.DownloadToByteArray(arr, 0); 
    var azureBase64 = Convert.ToBase64String(arr); 
    return azureBase64; 
} 
関連する問題