我安装了补丁“干预/图像”,“必须掌握”,以使我的图像将其大小减少到300乘以300.
我做了一些表格,在我看来总是犯同样的错误.
我做了一些表格,在我看来总是犯同样的错误.
得到错误?
调节器
public function updateProfile() { $file = Input::file('imagem'); $profileData = Input::except('_token'); $validation = Validator::make($profileData,User::$profileData); if ($validation->passes()) { if ($file == null) { User::where('id',Input::get('id'))->update($profileData); Session::flash('message','Perfil editado com sucesso'); return view('backend/perfil.index'); } $file = array_get($profileData,'imagem'); $destinationPath = 'imagens/perfil'; $extension = $file->getClientOriginalExtension(); $filename = rand(11111,99999) . '.' . $extension; $reduzir = $filename -> resize (300,300); $profileData['imagem'] = $filename; $upload_success = $file->move($destinationPath,$filename); User::where('id',Input::get('id'))->update($profileData); Session::flash('message','Perfil editado com sucesso'); return Redirect::to('backend/perfil'); } else { return Redirect::to('backend/perfil')->withInput()->withErrors($validation); } }
解决方法
问题可能是由于这些原因
'aliases' => [ //add these three at the bottom 'Form' => Illuminate\Html\FormFacade::class,'HTML' => Illuminate\Html\HtmlFacade::class,'Image' => Intervention\Image\Facades\Image::class ],
我相信你已经有了form和html帮助器.
并在Controller中使用此功能
即,只需将图像和大小值作为参数传递给此函数
$resizedImage = $this->resize($image,$request->get('image_size'));
并且resize()函数如下所示
private function resize($image,$size) { try { $extension = $image->getClientOriginalExtension(); $imageRealPath = $image->getRealPath(); $thumbName = 'thumb_'. $image->getClientOriginalName(); //$imageManager = new ImageManager(); // use this if you don't want facade style code //$img = $imageManager->make($imageRealPath); $img = Image::make($imageRealPath); // use this if you want facade style code $img->resize(intval($size),null,function($constraint) { $constraint->aspectRatio(); }); return $img->save(public_path('images'). '/'. $thumbName); } catch(Exception $e) { return false; }