简体   繁体   English

请求无法识别的上传图片

[英]Request not recognized upload image

I'm having a problem to get images uploaded. 我在上传图片时遇到问题。 I have a default image to all the users. 我对所有用户都有一个默认图像。 And when i choose other image to change the default one, it doesn't work. 当我选择其他图像更改默认图像时,它不起作用。 Somehow the $request is not being recognized. 不知何故,$ request无法被识别。 The code of UserController: 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());
}

use dd($request); 使用dd($ request); and show the screenshot and show the form as well. 并显示屏幕截图和表单。

I assume your method is correct. 我认为您的方法是正确的。 Try this: 尝试这个:

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());
}

I think you should try this:: 我认为您应该尝试这样做:

 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());
 }

Hope this work for you! 希望这项工作对您有帮助!

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM