我有 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.FromFile
或 System.Drawing.Image.FromStream
获取 Image.Width
和 Image.Height
.
否则,您需要在上传图像时首先将元数据添加到 blob 中以存储图像尺寸。然后,您可以从 blob 元数据中获取图像的尺寸,而无需下载。我推荐这种方式以避免下载那些大图像。
关于c# - 存储在azure blob存储中时如何获取图像尺寸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54550017/