Как получить размеры изображения при хранении в хранилище BLOB-объектов Azure? - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть изображение в 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-объекта?

Спасибо

1 Ответ

0 голосов
/ 06 февраля 2019

Вы не можете напрямую получить размеры изображения, поскольку большой двоичный объект существовал в хранилище Azure, через свойства и метаданные большого двоичного объекта.Единственный способ - загрузить блоб изображения и преобразовать его в System.Drawing.Image с помощью методов System.Drawing.Image.FromFile или System.Drawing.Image.FromStream, чтобы получить Image.Width & Image.Height.

. Или еще:сначала необходимо добавить метаданные большого двоичного объекта, чтобы сохранить данные измерений изображения при загрузке изображения.Затем вы можете получить размеры изображения из метаданных BLOB-объектов без загрузки.Я рекомендую этот способ, чтобы избежать загрузки для этих больших изображений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...