Получить размер изображения на веб-странице - PullRequest
1 голос
/ 08 января 2011

Можно ли получить информацию об изображениях на веб-сайте без необходимости фактически загружать фактическое изображение? Меня интересуют ширина / высота и размер кб.

Ответы [ 3 ]

3 голосов
/ 09 января 2011

Некоторые форматы изображений содержат информацию о размере в заголовке. Вы можете проанализировать заголовок, чтобы выяснить его размер, но, конечно, реализация будет зависеть от формата изображения.

1 голос
/ 09 января 2011

Нет. Вы можете получить размер файла, используя заголовок Content-Length, но вам нужно как минимум начать загрузку изображения, чтобы получить ширину / высоту.

Как только изображение начинает загружаться, вы можете проанализировать поток, и @BrokenGlass и @Ed Swangren предлагают попытаться найти ширину / высоту изображения таким образом.

Сказав это, это звучит как огромная работа, учитывая, что вы можете быстро найти ширину / высоту изображения, используя доступные библиотеки, если загрузите все изображение целиком. Если вы не имеете дело с массивными изображениями или огромным количеством изображений, может быть проще загрузить файлы и проверить их размер таким образом.

1 голос
/ 09 января 2011

Размер файла изображения, который вы можете определить с помощью запроса HTTP HEAD, в ответе будет содержаться длина содержимого, в случае .NET это будет HttpResponse.ContentLength.

Для определения ширины / высоты многих форматов изображений вам нужно всего несколько байтов в начале файла, поэтому вы можете начать с этого - как уже упоминалось, это зависит от фактического формата изображения.

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