Адаптивные изображения медиабиблиотеки Laravel

Я пытаюсь реализовать функцию адаптивных изображений в медиа-библиотеке Laravel Spatie, но по какой-то причине изображения не генерируются. Я пробовал зарегистрировать медиаконвертацию и применить там withResponsiveImages, а также непосредственно после $model->addMedia() и даже перейти на другие версии медиа-библиотеки, но ни одно из этих решений не решило мою проблему.

Как я загружаю изображение

  $request->validate([
        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
    ]);

    $image = Image::create([
       'name' => $request->image->getClientOriginalName()
    ])
    ->addMedia($request->image)
    ->withResponsiveImages()
    ->toMediaCollection();

Как получить модель для отображения адаптивных изображений

    $image = Image::first();
    return view('welcome', compact('productsForMenu', 'productsForSlider','image'));

И как я показываю изображение

    {{$image->getFirstMedia()}}

Изображение загружается в папку /public/media/id/image.jpg, но адаптивные изображения не создаются. Когда я показываю его, атрибут srcset не применяется. Что я могу делать неправильно? Это функция медиа-библиотеки-про?

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

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
124
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

У меня были похожие проблемы, и чтобы их исправить, сначала убедитесь, что у вас установлены расширения php-exif, php-gd.

Затем, во-вторых, медиа-библиотека ставит в очередь все преобразования, поэтому вы должны либо запустить php artisan queue:work, либо установить для QUEUE_CONVERSIONS_BY_DEFAULT значение false в вашей среде.

Тем временем мне удается это решить, я пропустил часть документации, где упоминались очереди, после того, как для QUEUE_CONVERSIONS_BY_DEFAULT установлено значение false, все работает правильно! Спасибо за ответ!

Telexx 28.05.2024 11:35

Другие вопросы по теме