我在laravel中上传图片时遇到问题。我已经做过很多次了,但我不知道出了什么问题
这是我的表格:
<form action="/change" method="POST">
<input type="file" name ='img'>
</form>
这是我的控制人:
if($request->hasFile('img')) {
$user_img_name = $request->file('img');
$user_name = time().'.'.$user_img_name->getClientOriginalExtension();
$destinationPath = public_path('/images');
$user_img_name->move($destinationPath, $user_name);
$user->user_pic = $user_name;
}
$user->save();
如果我在if语句之前做dd($request)
,则表明
request->parameters->img
文件不为空。有一个图像,但是if语句未捕获。我要去哪里错了?
答案 0 :(得分:4)
我可以看到您的表单中缺少enctype,这对于文件上传至关重要:
<form action="/change" method="POST" enctype="multipart/form-data">
@csrf
<input type="file" name ='img'>
</form>