Доработать логику загрузки миниатюр

7 000 руб. за проект
06 декабря 2022, 08:41 • 7 откликов • 80 просмотров
Необходимо вернуть логику при импорте данных из XML фида, в момент загрузки изображения на наш bucket (object storage), генерировать миниатюры изображения с помощью библиотеки laravel medialibrary, сохраняя их в таблице media.


Код в котором можно посмотреть, как это было сделано раннее (история коммитов): https://gitlab.com/kluchpro.tech/api/-/blob/64bb1541ce8c74f9fbdeac369fc972a57f2bce35/app/Models/Offer.php


По возможности пере использовать ранее написанный код.


На данный момент мы используем логику получения данных (API) в репозитории API а для сохранения данных в репозитории ERP


Модель Offer, к которой мы загружаем изображения есть в обоих репозиториях



  1. Подключить библиотеку laravel medialibrary

  2. Создать миграции, которые бы добавили необходимые для работы этой логики колонки в существующую таблицу media

  3. Добавить необходимую конфигурацию в модели (описать conversions)

  4. Дописать в логике импорта данных из XML фида, код который бы генерировал дополнительные изображения разных размеров (см. ниже) и сохранял о них информацию в базе данных.

  5. Добавить вывод ссылок на эти изображения в API ресурсе исходя из сохраненной информации в базе данных https://gitlab.com/kluchpro.tech/api/-/blob/master/app/Http/Resources/MediaResource.php


Ожидаемый результат, у каждого изображения по мимо ссылки на оригинальный масштаб в ответе API появились дополнительные ссылки с разными масштабами (миниатюрами)


Масштабы миниатюр



  • small width 350

  • medium width 750

  • large 1920