【问题标题】:Converting image from azure blob storage to Base64?将图像从 azure blob 存储转换为 Base64?
【发布时间】:2017-07-11 05:32:07
【问题描述】:

我正在尝试将图像从 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,但是图像存在于 Azure 上,但它的几乎所有属性都为 null 或未指定:

【问题讨论】:

    标签: azure azure-storage


    【解决方案1】:

    您可以做的是获取 blob 的属性,然后填充 blob 的长度属性。所以你的代码是:

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

    【讨论】:

      猜你喜欢
      • 2019-11-18
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 2020-10-01
      • 1970-01-01
      • 2015-08-04
      • 2013-09-10
      • 2017-01-27
      相关资源
      最近更新 更多