Как исправить GET http://localhost/storage/users/default.jpg 404 (не найден) в laravel

#php #laravel #laravel-5 #laravel-5.8

#php #laravel #laravel-5 #laravel-5.8

Вопрос:

Я столкнулся с проблемой, которая возвращает меня :
GET http://localhost/storage/users/default.jpg 404 (Not Found) .

У меня создана ссылка на хранилище (ярлык) и users/default.jpg файл в нем.
Я вызвал это в blade следующим образом :
{{Storage::disk('public')->url('users/'. Auth::user()->image)}} .

Но это не работает. Кто-нибудь может мне помочь? Как я могу исправить эту проблему. Я не могу найти проблему.

Мой код :

 <div class="user-pic">
   <img src="{{Storage::disk('public')->url('users/'. Auth::user()->image)}}" alt="users" class="rounded-circle" width="50" />
</div>
  

Комментарии:

1. <div class=»user-pic»> Auth::user()-> image)}}» alt=»users» class=»rounded-circle» width=»50″ /></div>

Ответ №1:

Папка хранения не может быть вызвана публично, вы должны создать символическую ссылку с помощью

 php artisan storage:link
  

и тогда вы можете использовать

 $path = asset('storage/' . $filepath/$fileName);
  

для извлечения файла,

обратитесь к документам

Комментарии:

1. Я создал символическую ссылку, используя php artisan storage: команда link, но она не работает

2. @ShahadatHossain Вы можете видеть свою папку хранения внутри общей папки?

3. Да, у меня есть папка быстрого доступа внутри общедоступной папки. Когда я нажал на эту команду php artisan storage: link, она была создана.

4. @ShahadatHossain Можете ли вы указать мне путь к общедоступной папке для вашего файла?

5. Имя файла моего проекта — redline. Внутри этой папки app, config, database и public и т.д..

Ответ №2:

Вы можете напрямую получить доступ к своей общей папке, написав это <img src="{{ asset('imgs/logo/global.png') }}"/> это займет путь локального типа /public/imgs/logo/global.png

Ответ №3:

После выполнения команды php artisan storage:link вы получите доступ к своим файлам активов в каталоге хранилища, используя этот синтаксис : asset('storage/file.txt');

Если вы хотите получить к нему доступ внутри шаблона блейда, вы напишете что-то вроде этого :

 <img src= "{{ asset('storage/users/' . Auth::user()->image) }}">
  

Комментарии:

1. Пожалуйста, примите ответ, если это именно тот способ, которым вы хотели это сделать.