【发布时间】:2021-05-13 19:45:50
【问题描述】:
我想一次上传多张图片,但它不起作用。
刀片/视图
<form action="{{ url('admin/image/upload') }}" method="POST"enctype="multipart/form-data">
@csrf
<td><input type="text" name="Fields[0][title]" placeholder="Enter title" class="form-control" /></td>
<td><input type="file" name="Fields[0][image]" class="form-control" /></td>
</form>
控制器
$request->validate([
'Fields.*.title' => 'required|max:25|min:5',
'Fields.*.image' => 'required',
]);
if($request->hasFile('image'))
{
$file=$request->file('image');
$file_name=hexdec(uniqid());
$ext=strtolower($file->getClientOriginalExtension());
$file_full_name=$file_name.'.'.$ext;
$upload_path='image/';
$file_url=$upload_path.$file_full_name;
$success=$file->move($upload_path,$file_full_name);
$Fields['image']=$file_url;
foreach ($request->Fields as $key => $value) {
images::create($value);
}
return back()->with('success', 'Image Has Been Saved Successfully.');
}
【问题讨论】:
-
检查这一行
if($request->hasFile('image')),你没有任何名为image的文件 -
我应该写什么?
-
我觉得你这里不需要动态字段,把
name="Fields[0][image]"改成name="image" -
我需要动态字段。
-
如果您接受我的回答,您将获得图像和字段输入数组,您应该通过 "foreach ($request->file('image') as $img) { echo $img } 访问"
标签: laravel multiple-file-upload