Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Массовая загрузка картинок в систему ресурсов
Как работает массовая загрузка картинок
В системе есть внешнее действие типа processimagezip, которое позволяет загружать архив с файлами.
Имена файлов в архиве содержат данные об объекте, к которому мы привязываем картинку.
К примеру есть товары с id = 1000, 1001.
В архиве могут быть картинки с именами 1000_1, 1000_2... и 1001_1, 1001_2 и т.д. Система обработает архив и загрузит в систему ресурсов (по коду типа ресурса) указанные картинки:
- обработает их исходя из настроек типа ресурса
- сохранит объекты в нужном порядке
- привяжет файлы к нужным itemID (порядок и itemID определяется на основе имени файла).
Общий процесс выглядит так:
- создаем тип ресурса (например с кодом t1)
- кладем архив с картинками/файлами в папку uploads.
- вызываем внешнее действие. Пример вызова внешнего действия:
-- SELECT 2
select 'processimagezip' type, @path path, 't1' resourceTypeCode, '' sp, 1 replace
- механизм распаковывает файлы во временную папку, обрабатывает файлы и сохраняет их через систему ресурсов
- временная папка удаляется автоматически. ВАЖНО! zip архив не удаляется автоматически.
Параметры внешнего действия processimagezip
- path - путь к архиву (если файл большой, его можно к примеру через FTP).
- replace - если 1, то для элементов itemID(для которых есть файлы) будут сначала удаляться прежние файлы.
- resourceTypeCode - тип ресурса (он задает правила обработки файлов и проверку доступов).
- sp - имя хранимой процедуры для разбора имени файла и получения itemID, ord (по умолчанию имена должны иметь имя {itemID}_{ord}).
- user - имя пользователя, под которым будет выполняться операция (если поставить NULL, то будет выполнение под текущим пользователем).
Процедура разбора имени файла для получения itemID и ord (параметр sp)
Процедура разбора имени файла для получения itemID и ord.
Процедура указывается как параметр sp у внешнего действия.Если процедура не указана, то считается что имя файла идет в формате {itemID}_{ord}.
На входе процедуры:
- name nvarchar(256) - имя файла (откуда мы будем доставать itemID и ord)
- resourceTypeCode nvarchar(128) - тип ресурса
На выходе SELECT 1:
- ItemID - к какому объекту идет привязка (itemID в as_rs_resources),
- Ord - порядковый номер.
В итоге, если указано имя процедуры в параметре sp, то будет для каждого имени файла вызываться эта процедура и через нее будут определяться параметры itemID (привязка файла к некой сущности с id=itemID, например, товару) и ord (сортировка).
Примечание: если itemID будет пустой строкой, то такой файл не будет обработан (т.е. будет проигнорирован).
Дополнительные материалы
- Файлы загружаются на сервер, но при скачивании выходит ошибка 404.3
- Не выводятся картинки на сайте
- Загрузка файлов с drop областью и гибкой разметкой
- Как поставить водяной знак на картинку при загрузке
- Как приводить картинки к заданным размерам при загрузке на сайт
- Как оптимизировать качество картинок при загрузке на сайт
Google поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта