Decoder.php第20行中的NotReadableException:无法从file()读取图像。 laravel 5.3

时间:2016-12-09 13:31:54

标签: php image laravel file-upload upload

我正在尝试在Laravel 5.3中上传图片,但我在Decoder.php第20行中收到NotReadableException:

  

无法从文件()中读取图像。

     

错误。任何人都可以帮助我。我正在使用图像干预   图片上传。

在我尝试的代码下面:

public function update(Request $request){

        // Handle the user upload of avatar
        if($request->hasFile('avatar')){
            $avatar = $request->file('avatar');
            $filename = time() . '.' . $avatar->getClientOriginalExtension();
            Image::make($avatar)->resize(300, 300)->save( public_path('/uploads/avatars/' . $filename ) );

            $user = Auth::user();
            $user->avatar = $filename;
            $user->save();

        }

        return view('users/profile', array('user' => Auth::user()) );

    }

1 个答案:

答案 0 :(得分:1)

这是可能的解决方案

 public function update(Request $request){

    // Handle the user upload of avatar
    if($request->hasFile('avatar')){
        $avatar = $request->file('avatar');
        $filename = time() . '.' . $avatar->getClientOriginalExtension();
        Image::make($avatar->path())->resize(300, 300)->save( public_path('/uploads/avatars/' . $filename ) );

        $user = Auth::user();
        $user->avatar = $filename;
        $user->save();

    }

    return view('users/profile', array('user' => Auth::user()) );

}

当请求的文件放在临时目录中时,你需要获取此文件的path()以将其传递给Image :: make