Ras*_*kov 1 c# azure azure-storage-blobs
我在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);
}
Run Code Online (Sandbox Code Playgroud)
我在CloudBlobContainer和CloudBlockBlob中都看不到任何有用的元数据。
知道如何从Blob获取图像尺寸吗?
谢谢
您无法通过blob的属性和元数据直接获取Azure存储上存在的blob的图像尺寸。唯一的方法是下载图像Blob并将其转换为System.Drawing.Imagevia方法System.Drawing.Image.FromFile或System.Drawing.Image.FromStream获取Image.Width&Image.Height。
否则,您需要在上传图像时首先添加Blob的元数据来存储图像尺寸数据。然后,您无需下载即可从Blob元数据获取图像的尺寸。我建议以这种方式避免下载那些大图像。