c# - 存储在azure blob存储中时如何获取图像尺寸?

标签 c# azure azure-blob-storage

我有 blob 中的图像,我想读取图像尺寸(宽度和高度)

这是我从 blob 读取的函数:

 private static CloudBlockBlob ReadBlockBlob(string input, IConfigurationRoot config)
    {
        CloudStorageAccount storageAccount = new CloudStorageAccount(
            new Microsoft.WindowsAzure.Storage.Auth.StorageCredentials(config["storageAccountName"], config["storageKeyValue"]), true);
        CloudBlobClient blobClient = storageAccount.CreateCloudBlobClient();
        CloudBlobContainer container = blobClient.GetContainerReference(config["blobContainer"]);
        return container.GetBlockBlobReference(input);
    }

我在 CloudBlobContainer 和 CloudBlockBlob 中都没有看到任何有用的元数据。

知道如何从 blob 获取图像的尺寸吗?

谢谢

最佳答案

您无法通过 Blob 的属性和元数据直接获取 Azure 存储上存在的图像 Blob 的尺寸。唯一的方法是下载图像 blob 并将其转换为 System.Drawing.Image通过方法 System.Drawing.Image.FromFileSystem.Drawing.Image.FromStream 获取 Image.WidthImage.Height .

否则,您需要在上传图像时首先将元数据添加到 blob 中以存储图像尺寸。然后,您可以从 blob 元数据中获取图像的尺寸,而无需下载。我推荐这种方式以避免下载那些大图像。

关于c# - 存储在azure blob存储中时如何获取图像尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54550017/

相关文章:

Azure Blob 存储索引器在图像上失败

spring - 如何使用 Spring Batch 写入 Azure Blob?

c# - 使用C#将DateTime从UTC转换为用户提供的时区

c# - 宇宙(C#操作系统): running on Azure?

c# - 在控制台应用程序中重用 DNN 数据库存储库

azure - 在哪里可以找到 Azure Function 的代码?

azure - 使用 Azure Powershell 在应用服务环境中创建 Azure 应用服务计划

c# - 如何将 Task<string> 中的数据存储到字符串?

c# - 禁用天数 : 5 days after current date on Calendar

c# - 如何确定 .NET CORE DLL 是否在 Web 服务器/主机或控制台应用程序中运行