Ответ 1
Обзор
Когда вы загружаете изображение в Tumblr, в своей сети генерируются и сохраняются несколько размеров (одного и того же изображения).
После загрузки вы можете использовать теги шаблонов, чтобы запросить это изображение со следующими размерами: 75, 100, 250, 400, 500 и 1280.
Стоит отметить следующее:
- Значение в теге шаблона - это максимальный размер запрашиваемого изображения. Пример. Версия изображения 400 может находиться где угодно между 251px и 400px широким/высоким.
- Возможно, не существует версии высокого разрешения или 1280. Если исходное изображение 500 пикселей или меньше, версия 1280 не создается.
- Фотосеты не выпускают версию 100.
URL-адрес изображения
URL-адрес изображения будет либо из двух ниже. Первый URL-адрес, похоже, связан с загрузкой изображений более 6 месяцев назад (это предположение), второй URL-адрес, по-видимому, предназначен для более новых изображений:
http://36.media.tumblr.com/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
или
http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
Схема URL
Это можно разбить на три части, две переменные, одну константу.
-
http://36
-
.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1
-
_500.jpg
1 Это номер сервера и может отличаться для каждого размера изображения. AFAIK не гарантирует, что размер изображения будет доступен на всех серверах. @Ally, упомянутый в комментариях, вы можете удалить эту часть из URL-адреса, и изображение все равно будет найдено.
2 Это поддомен Tumblr, каталог (если применимо) и частичное имя файла. Это будет одинаково для всех размеров.
3 Это запрошенный размер (который соответствует тегу шаблона) и расширение файла.
Создание URL-адресов для всех размеров, доступных с использованием тегов шаблонов.
Единственный надежный метод, который я нашел, - использовать соответствующие теги шаблона и назначить их атрибуту data-
.
Пример кода шаблона:
<img src="{PhotoURL-100}" data-250u="{PhotoURL-250}" data-400u="{PhotoURL-400}" data-500u="{PhotoURL-500}" data-1280u="{block:HighRes}{PhotoURL-HighRes}{/block:HighRes}" />
Пример визуализированного кода:
<img src="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_100.jpg" data-250u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_250.jpg" data-400u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_400.jpg" data-500u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg" data-1280u="http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_1280.jpg" >
С помощью этого метода вы можете быть уверены, что у вас есть правильные URL-адреса, и вы знаете, какие размеры доступны.
Взлом всех URL-адресов размера на основе только одного URL-адреса.
Используя эту информацию, URL-адрес станет следующим:
http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
Ниже приведен тест, подтверждающий доступ ко всем доступным размерам:
- http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_100.jpg
- http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_250.jpg
- http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_400.jpg
- http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_500.jpg
- http://36.media.tumblr.com/83099a60d4e0cbeeb30d90394e222878/tumblr_o4qxa0n2BP1r6ec7zo1_1280.jpg
Вы все еще не знаете, был ли сформирован размер 1280, но его шаг ближе. С помощью этого метода вы можете заменить значение (часть 3) на новый размер, и должен получить изображение.