#php #laravel #directory #storage
Вопрос:
В моем приложении laravel 7.x все загруженные файлы хранятся в storage/app/public/<user-uuid-as-directory>
Например:
storage/app/public/a6d4b3cb-a823-11eb-bfce-fcaa149efd09/72c2881d-a824-11eb-bfce-fcaa149efd09.png
Когда я пытаюсь получить доступ к файлу, я получаю 404
сообщение об ошибке.
filesystem.php
...
'images' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL') . '/images',
'visibility' => 'public',
],
...
some.blade.php
$uuid = auth()->user()->token; // 'a6d4b3cb-a823-11eb-bfce-fcaa149efd09'
@foreach($images as $image)
<img src="{{ Storage::disk('images')->url($uuid . '/' . $image) }}" />
@endforeach
Что я здесь делаю не так?..
Комментарии:
1. Попробуйте переключиться
images
storage
наurl
свойfilesystem.php
.2. Также очистите свой кэш конфигурации с
php artisan config:clear
помощью .3. Пытался, но не получилось.
4. Кроме того, вы создали символическую ссылку из общедоступного/хранилища в хранилище/приложение/общедоступное?
5. Тогда это может быть проблема с разрешениями. Убедитесь, что у сервера есть разрешение на чтение каталога хранилища и его подкаталогов
Ответ №1:
Я думаю, что вам нужно создать symbolic link
, а затем изменить filesystem.php файл
'url'=> env('APP_URL') . '/images',
быть
'url'=> env('APP_URL') . '/storage/images',
Я надеюсь , что это поможет вам, спасибо.