Невозможно изменить изображение профиля Laravel

Я могу сохранить изображение в нужном месте, но не могу его просмотреть.
Когда страница перезагружается, появляется то же изображение по умолчанию.
Изображение по умолчанию никогда не меняется на желаемое изображение.

Мой файл контроллера (UserController.php):

     public function update_avatar(Request $request)
{

if($request->hasFile('avatar'))

{

$avatar = $request->file('avatar');
$filename = time(). '.' . $avatar->getClientOriginalExtension();
Image::make($avatar)->save(public_path('/src/uploads/avatars/' . $filename));}

return redirect()->route('dashboard');
}}

Мой маршрутный файл:

Route::post('/dashboard',[
'uses'=>'UserController@update_avatar',

]);

Мой вид Файл:

<form action="/dashboard" method="post" enctype="multipart/form-data">
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>

<input type="file" name="avatar" class="btn btn-sm btn-primary col-md-5"  >

<input type="submit" class="pull-right btn btn-sm btn-primary " value="submit">
<input type="hidden" value="{{Session::token() }}" name="_token">
<a href="#">Remove</a>

</div><div id="main">
<span style="font-size:30px;cursor:pointer" onclick="openNav()"><img src="download.jpg" class="img-circle img-responsive" alt="Placeholder image"></span>
</div>

</form>

1

Решение

Вы не сохраняете загруженное изображение в базу данных? Вы загружаете изображения только в специальную папку изображений, но не сохраняете ее в базу данных? Если вы хотите, вы можете сделать это в вашем контроллере:

    <?php

public function update_avatar(Request $request){
$avatarURI = null;
if($request->hasFile('avatar')) {

$avatar     = $request->file('avatar');
$filename   = time(). '.' . $avatar->getClientOriginalExtension();
Image::make($avatar)->save(public_path('/src/uploads/avatars/' . $filename));
$avatarURI  = "src/uploads/{$filename}";
User::update();
}

// YOU MAY NEED TO PERSIST THIS IN THE DATABASE
// TO UPDATE THE avatar:

$usr = new \App\User();
$usr->update(['avatar' => $avatarURI, 'id'=>$userID]); //<== ID OF THE USER TO BE UPDATED...
return redirect()->route('dashboard', ['imgURI'=>$avatarURI, 'user'=>$usr]);
}
0

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

Изменить пользователя с атрибутом аватара в соответствии с вашими потребностями

public function update_avatar(Request $request)
{
if($request->hasFile('avatar'))
{
$avatar = $request->file('avatar');
$path = '/src/uploads/avatars/';
$filename = time(). '.' . $avatar->getClientOriginalExtension();
Image::make($avatar)->save(public_path($path . $filename));
$request->user()->avatar = $filename;
$request->user()->save();
}
return redirect()->route('dashboard');
}
0

По вопросам рекламы [email protected]