Laravel — Не удалось загрузить ресурс

Я использую пакет Image Intervention в Laravel и не могу отобразить свое изображение профиля. Проблема в том, что браузер не может загрузить ресурс

localhost:8000/uploads etc.

Все файлы сохраняются в общей папке:

public/uploads

Мой взгляд:

<div class="row">
<div class="col-md-2 ">
<img src="uploads/{{ $user->avatar }}">
</div>
</div>

контроллер:

class UserController extends Controller
{
public function profile()
{
return view ('user.profile', array('user'=>Auth::user()));
}

public function update(Request $request)
{
if($request->hasFile('avatar'))
{
$avatar = $request->file('avatar');
$filename = time() . '.' . $avatar->getClientOriginalExtension();
Image::make($avatar)->resize(300, 300)->save(public_path('/uploads/avatar' . $filename));
$user = Auth::user();
$user->avatar = $filename;
$user->save();
}
return view('user.profile',array('user'=>Auth::user()));
}
}

Я использую Windows и вижу, что эти файлы сохранены в моей папке public / uploads, но я не могу отобразить его

С уважением

0

Решение

В вашем классе контроллера измените эту строку:

$user->avatar = $filename;

к этому:

$user->avatar = 'avatar' . $filename;
1

Другие решения

Когда вы сохраните изображение, добавьте / после «загрузки / аватара»:

save(public_path('/uploads/avatar/' . $filename));

Это должно решить проблему именования. Затем в вашем HTML добавьте «avatar /» после «uploads /», так как вы сохраняете в папку «upload / avatar».

Тогда ваш взгляд будет выглядеть так:

<div class="row">
<div class="col-md-2 ">
<img src="uploads/avatar/{{ $user->avatar }}">
</div>
</div>
2

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector