2016-10-22 327 views
0

我正在tryng来调整用户轮廓的图像,但我有此错误:Laravel 5.2 - Intervation图像调整

NotReadableException in Decoder.php line 96: Unable to init from given binary data.

我的控制器

public function updateAvatar(Request $request){ 

    if ($request->hasFile('image')) { 

     $user_id = Auth::user()->id . '.' . $request->file('image')->getClientOriginalExtension(); 

     // if i insert here: retur $user_id it return: 1.jpg it work well, 
     // my form work well, before i tryed to upload without resize and it work well. 
     // i want save image uploaded with id user and extention 
     // here i'm tryng to resize it, i installed intervation and inserted class 

     $img = Image::make('images/users',$user_id); 
     $img->resize(100, 100); 
     $img->save('images/users',$user_id);   
     $user = new User; 

     $user->where('email', '=', Auth::user()->email) 

       ->update(['image' => 'images/users/'.$user_id]); 
     return redirect('account')->with('message-success', 'Immagine profilo aggiornata con successo!'); 

    }else{ 
     return redirect('account')->with('message-error', 'File non trovato'); 
    } 
    } 

回答

0

你试图提供两个参数到Image::make(),但它应该只给一个。我想你可能想要做Image::make('images/users/'.$user_id)改为?或者无论你的文件的完整路径是什么。

0

试试这个 - 我想你试图从文本字符串创建一个图像,或者可能是不存在的东西。我没有我的代码编辑器,所以我无法测试,让我知道你得到了什么?

public function updateAvatar(Request $request){ 

    if ($request->hasFile('image')) { 

     $user_id = Auth::user()->id . '.' . $request->file('image')->getClientOriginalExtension(); 

     $img = Image::make($request->file('image')); 
     $img->resize(100, 100); 
     $img->save('images/users',$user_id);   
     $user = new User; 

     $user->where('email', '=', Auth::user()->email) 
      ->update(['image' => 'images/users/'.$user_id]); 

     return redirect('account')->with('message-success', 'Immagine profilo aggiornata con successo!'); 

    } else{ 

     return redirect('account')->with('message-error', 'File non trovato'); 

    } 
} 
0
public function updateAvatar(Request $request){ 

    if ($request->hasFile('image')) { 

     $user_id = Auth::user()->id . '.' . $request->file('image')->getClientOriginalExtension(); 

     $base=base64_decode($request['image']); 
     $img = Image::make($base)->save($path); 
     $img->resize(100, 100); 
     $img->save('images/users',$user_id);   
     $user = new User; 

     $user->where('email', '=', Auth::user()->email) 
     ->update(['image' => 'images/users/'.$user_id]); 

     return redirect('account')->with('message-success', 'Immagine profilo aggiornata con successo!'); 

     } else{ 

      return redirect('account')->with('message-error', 'File non trovato'); 

     } 
} 

这肯定会解决你的问题..