我试图调整用户个人资料的图片大小,但我有这个错误:
Decoder.php第96行中的NotReadableException:无法从给定初始化 二进制数据。
我的控制器
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 :(得分:0)
你试图向Image::make()
提供两个参数,但它应该只给一个。{1}}。我想你可能想做,例如Image::make('images/users/'.$user_id)
而是?或者无论文件的完整路径是什么。
答案 1 :(得分: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');
}
}
答案 2 :(得分: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');
}
}
这肯定会解决您的问题..