Конверсии Laravel Media не создаются с помощью laravel-medialibrary на Amazon S3Php

Кемеровские программисты php общаются здесь
Anonymous
Конверсии Laravel Media не создаются с помощью laravel-medialibrary на Amazon S3

Сообщение Anonymous »

Я использую Spatie/Laravel-Medialibrary для обработки вложений файлов в мою модель продукта. Я хотел бы, чтобы все изображения продуктов загружались на Amazon S3, а затем автоматически конвертировались в разные размеры (например, «большой», «маленький», «средний», «большой»), как описано здесь.

Все отлично работает при работе с локальной файловой системой. Пакет создает конверсии, и я могу получить к ним доступ с помощью своего приложения. Проблема возникает, когда я пытаюсь изменить настройки пакета для использования Amazon S3 вместо локального хранилища файлов.

Итак, в моем ImageController.php у меня есть следующая строка:

Код: Выделить всё

$product->addMedia(public_path() . '/temp/products/'.$product->id)->toCollection('images', 's3');
Конфигурация S3 в config/filesystems.php

Код: Выделить всё

's3' => [
'driver' => 's3',
'key' => env('AMAZON_S3_ID'),
'secret' => env('AMAZON_S3_KEY'),
'region' => env('AMAZON_S3_REGION'),
'bucket' => env('AMAZON_S3_BUCKET'),
'visibility' => 'public'
],
и настройки преобразования, расположенные в моем классе Product.php:

Код: Выделить всё

public function registerMediaConversions()
{
$this->addMediaConversion('thumb')
->setManipulations(['w' => 160, 'h' => 120])
->performOnCollections('images');

$this->addMediaConversion('small')
->setManipulations(['w' => 280, 'h' => 210])
->performOnCollections('images');

$this->addMediaConversion('medium')
->setManipulations(['w' => 400, 'h' => 300])
->performOnCollections('images');

$this->addMediaConversion('large')
->setManipulations(['w' => 640, 'h' => 480])
->performOnCollections('images');
}
Как я уже упоминал выше, все работает отлично, если я использую локальную файловую систему, но как только я меняю ее на использование Amazon S3, преобразования файлов не создаются. Исходный файл успешно загружен на Amazon, но конверсий нет. Есть совет?

Вернуться в «Php»