Массовая оптимизация картинок в менеджерах ресурсов
Иногда возникает потребность массово обработать картинки, загруженные ранее - уменьшить размеры или оптимизировать по качеству.
На странице менеджера ресурса есть кнопка для обработки картинок его типа. Он позволяет менять размеры, уменьшить качество, поставить водяной знак.

Указываем папку, в которую будут выгружены обработанные картинки (исходные картинки скрипт не трогает).
Важный момент - структура папок по itemID внутри типа ресурса также копируется - для упрощения процесса обновления.
Процесс выполняется сначала отдельно для основных картинок, а потом отдельно для иконок (можно указать ту же папку, тогда будет просто полное воссоздание структуры папок ресурса, где в itemID папке лежат файлы основные и thumb).
Как провести оптимизацию картинок через внешнее действие
Для этого используем Внешнее действие processimage. Картинки могут быть любые (не только те, что идут под менеджером ресурсов).
Пример для одной картинки:
select 'processimage' type,
'/uploads/rs/user/ru/1569890095_pervoru_43399.jpg' path,
'/uploads/rs/user/ru/1569890095_pervoru_43399_1.jpg' url,
340 width, 340 height, 40 quality, '1' fitWithWhitespace,
'' watermarkUrl
Как это работает:
- берется картинка из path
- устанавливаются размеры width, height. Если размеры исходной картинки отличаются - то учитывается параметр fitWithWhitepace (если 1, то будут добавлены белые поля с недостающих сторон. Если 0 - то картинка просто вписывается в указанный прямоугольник width, height).
- если указан путь к другой картинке в watermark - то устанавливается водяной знак на картинку
- картинка сохраняется с качеством quality (от 40 до 100) по адресу url.
Если требуется обработать множество картинок, то select будет содержать выборку из некоторой таблицы. Для каждой строки во внешнем действии будет выполнена обработка.
Пример обработки для картинок ресурсов с кодом user:
select 'processimage' type,
[url] path,
replace([url], '/uploads/rs/user', '/uploads/temp1') url,
340 width, 340 height, 55 quality, '1' fitWithWhitespace,
'' watermarkUrl
from as_rs_resources where entityCode='user'
union all
select 'processimage' type,
[thumbUrl] path,
replace([thumbUrl], '/uploads/rs/user', '/uploads/temp1') url,
900 width, 900 height, 55 quality, '1' fitWithWhitespace,
'' watermarkUrl
from as_rs_resources where entityCode='user'
Здесь мы обрабатываем как полноразмерные картинки, так и миниатюры
Примечание: Предварительно создайте каталог назначения, если он не существует в текущий момент.
Страница-источник на сайте falconspace.ru
-
Руководства
-
Основа Falcon Space
-
Основные компоненты
-
Возможности
-
Коммуникация пользователей
-
Дизайн, стилизация, юзабилити
-
Лендинги
-
Универсальный API
-
Интеграции
-
Каталоги
-
Навигация
-
Документы
-
Дополнительные компоненты
-
Продвижение, SEO
-
Системные моменты
-
Системное администрирование
-
HOWTO
-
Таблицы
-
Формы
-
Поля формы
-
Загрузка файлов, картинок
Работа с ресурсами. Загрузка картинок, файлов Управление файлами на сервере (файловый менеджер) Загрузка на форме текстовых файлов и обработка их в процедуре SaveItem Как добавить в колонку таблицы управление файлами Загрузка файлов с drop областью и гибкой разметкой (компонент as-files) Как приводить картинки к заданным размерам при загрузке на сайт Импорт и парсинг файла CSV Чем отличается код типа ресурса от типа объекта Как получить ссылку на ресурс Как установить права доступа на менеджер ресурсов? Как загружать фото с обрезкой Как увеличить размер подгружаемых файлов (как загружать большие файлы) Передача файлов по FTP Как искать битые ресурсы, картинки Подбор оптимальных параметров менеджера ресурсов Подгружаемые файлы Массовая загрузка картинок в систему ресурсов Не грузится файл через менеджер ресурсов Файлы загружаются на сервер, но при скачивании выходит ошибка 404.3 (загрузка ODT, Проблема с MIME типами) Поддержка Webp формата для оптимизации картинок Массовая оптимизация картинок в менеджерах ресурсов Не выводятся картинки на сайте (401, 403 ошибка при загрузке картинок) Как установить JS callback после выполнения crop картинки Не отображается картинка юзера справа вверху Как изменить текст "Нет файлов" в as-resourceManager? Обработка спецсимволов в названии файлов Как поставить водяной знак на картинку при загрузке Как оптимизировать качество картинок при загрузке на сайт Как создавать для загружаемой картинки копии с разными размерами Как загружать файл, когда задействовано диалоговое окно Как загрузить файл по конкретному пути Как сделать возможность грузить только 1 фото Как поставить фильтр на типы файлов и ограничить форматы загрузки картинок? Как обработать событие после удаления или добавления файлов?
Не выводятся картинки в менеджере ресурсов. Что делать? Как вставить менеджер ресурсов в форму с заданным itemID
-
HOWTO SQL
-
HOWTO JS
-
HOWTO Верстка
-
Решение проблем