2017-01-16 10 views
0

У меня возникла проблема с загрузкой изображений. У меня есть образ по умолчанию для всех пользователей. И когда я выбираю другое изображение, чтобы изменить значение по умолчанию, оно не работает. Так или иначе, запрос $ не распознается. Код UserController:Запрос не распознанный Загрузить изображение

use App\User; 
use Illuminate\Http\Request; 
use App\Http\Requests; 
use Auth; 
use Image; 

public function updateAvatar(Request $request){ 
    $user = User::find(Auth::user()->id); 
    if ($request->hasFile('avatar')){ 
     $avatar = $request->file('avatar'); 
     $filename=time() . '.' . $avatar->getClientOriginalExtension(); 

     if($user->avatar!='default.jgp'){ 
      $file = 'uploads/avatars/' . $user->avatar; 
      if(File::exists($file)){ 
       unlink($file); 
      } 
     } 
     Image::make($avatar)->save(public_path('/uploads/avatars/' . $filename)); 
     $user= Auth::user(); 
     $user->avatar=$filename; 
     $user->save(); 
    } 
    return view('pages.AfterLogin.Entidade.users.profile')->withUser(Auth::user()); 
} 
+0

Как выглядит ваша форма? – MMMTroy

+0

Убедитесь, что вы используете метод PUT/PATCH –

+0

У меня есть метод поста @LeaTano –

ответ

0

Я предполагаю, что ваш метод является правильным. Попробуйте следующее:

use App\User; 
use Illuminate\Http\Request; 
use Auth; 
use Image; 

public function updateAvatar(Request $request){ 
    $user = User::find(Auth::user()->id); 
    if ($request->hasFile('avatar')){ 
     $avatar = $request->file('avatar'); 
     $filename=time() . '.' . $avatar->getClientOriginalExtension(); 

     if($user->avatar!='default.jpg'){ 
      $file = 'uploads/avatars/' . $user->avatar; 
      if(File::exists($file)){ 
       unlink($file); 
      } 
     } 
     Image::make($avatar)->save(public_path('/uploads/avatars/' . $filename)); 
     $user= Auth::user(); 
     $user->avatar=$filename; 
     $user->save(); 
    } 
    return view('pages.AfterLogin.Entidade.users.profile')->withUser(Auth::user()); 
} 
+0

Ничего не случилось :(@SSuhat –

+0

@ JoãoCosta, вы уверены, что ваш URL-адрес правильной? Попробуйте опубликовать файл маршрутов и форма тег – ssuhat

+0

маршруты файла: 'Route :: получить ('/ профиль', 'UsersController @ индекс'); маршрута :: пост ('/ профиль', 'UsersController @ updateAvatar');' форма : ' <входного типа = имя "файл"= "аватар"> <входного типа =» HIDD ан»имя = "_ лексема" значение = "{{csrf_token()}}"> <входной тип = "представить" класс = "БТН БТН-первичный"> ' @SSuhat –

0

dd ($ request); и покажите скриншот и покажите форму.

+0

dd не работает. Форма: https://jsfiddle.net/w9xm91r1/ @Ravi –

+0

Где

Ravi

+0

Я пробовал оба. multipart/form-data и x-www-form-urlencoded @Ravi –

0

Я думаю, вы должны попробовать это ::

use App\User; 
use Illuminate\Http\Request; 
use App\Http\Requests; 
use Auth; 
use Image; 
use Illuminate\Support\Facades\Input; 

public function updateAvatar(Request $request){ 
    $user = User::find(Auth::user()->id); 
    if ($request->hasFile('avatar')){ 
     $avatar = Input::file('avatar'); 
     $filename=time() . '.' . $avatar->getClientOriginalExtension(); 

     if($user->avatar!='default.jgp'){ 
      $file = 'uploads/avatars/' . $user->avatar; 
      if(File::exists($file)){ 
       unlink($file); 
      } 
     } 
     Image::make($avatar)->save(public_path('/uploads/avatars/' . $filename)); 
     $user= Auth::user(); 
     $user->avatar=$filename; 
     $user->save(); 
    } 
    return view('pages.AfterLogin.Entidade.users.profile')->withUser(Auth::user()); 
} 

Надежда эта работа для Вас!

+0

Это не сработало :(@AddWeb Solution Pvt Ltd –