Я прочитал эту ветку , однако я все еще не совсем уверен, как с этим справиться.
Конечно, я мог бы установить FILESYSTEM_DRIVER
на s3
, но этона самом деле не будет работать.
Позвольте мне объяснить:
Если мы загрузим простой файл аватара:
request()
->file('avatar')
->store('avatars', 'public')
Файл сохраняется в БД, например: avatars/R6ZGC9U0c22mKMcAADZbc8kJeU8soTvOuNFvnYgv.jpeg
Этот файл хранится в локальном файле общего хранилища. Однако, если мы теперь хотим изменить файловую систему по умолчанию на S3, очевидно, что ничего не изменится, потому что я заявил о том, чтобы сохранить ее в открытом доступе.
Теперь, это будет еще сложнее, когда мы получим изображение с помощью метода asset
. Обычно мне просто нужно написать:
public function getAvatarAttribute($avatar)
{
return asset('storage/' . $avatar));
}
, чтобы получить файл аватара (из-за символической ссылки в общей папке).
Что теперь? Я, очевидно, не сохраняю папку для хранения.
Как бы вы справились с этим?