当我尝试上传8.54 mb图片时会生成错误
Illuminate \ Http \ Exceptions \ PostTooLargeException没有消息
我真正想做的是在上传之前进行验证,并显示一条自定义错误消息,提及l图像容量太大而无法上传
这是我的控制器 ProfileController.php
public function update_avatar(Request $request){
$request->validate([
'avatar' => 'required|image|max:2048',
]);
$user = Auth::user();
Storage::delete('/avatars/'.$user->avatar);
$avatarName = $user->id.'_avatar'.time().'.'.request()->avatar->getClientOriginalExtension();
$request->avatar->storeAs('avatars',$avatarName);
$user->avatar = $avatarName;
$user->save();
return back()->with('success','You have successfully upload image.');
}
答案 0 :(得分:0)
很长一段时间都没有使用过Laravel,但这是我会做的。首先,我希望 this.personService.getPersons().subscribe((result: Uczen[]) => {
for (const item of result) {
this.osoby.push(item);
}
console.log(this.osoby[1]);
console.log(this.osoby.length);
});
不是来自表单验证器,而是来自Laravel本身。在这种情况下,我要做的是增加PostTooLargeException
中的max_post_size
设置(然后可能是upload_max_filesize
)。
这将降低到达控制器的请求。
然后,您可以使用验证器来处理图像大于指定的2048的错误。有关显示错误的更多详细信息,请查看docs。