Laravel извлекает хранилище файлов с подкаталогом

#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',
 

Я надеюсь , что это поможет вам, спасибо.