php 如何在laravel 5.3中对多个图像上传进行确认

nzrxty8p  于 2022-12-17  发布在  PHP
关注(0)|答案(2)|浏览(106)

我有一个输入

<input type="file" name="image[]" multiple="multiple" />

和控制器功能

public function upload(Request $request)
{
    $user_id = Auth::user()->id;

    foreach ($request->image as $image)
    {
        $this->validate($request,[
        'image' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
    ]);
        $imageName = mt_rand() .time().'.'.$image->getClientOriginalExtension();
        $img = Image::make($image->getRealPath());
        $img->resize(100, 100, function ($constraint) {
                                    $constraint->aspectRatio();
                    })->save(public_path('images/thumbs').'/'.$imageName);
        $image->move(public_path('images'), $imageName);
    }
}

但是验证器总是给我错误

The image must be an image.
9lowa7mx

9lowa7mx1#

将验证移出循环,并尝试使用以下规则:

'image' => 'required',
 'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'
5ktev3wc

5ktev3wc2#

foreach ($images as $img) {
    $request->validate([
       'multi_img.*' => ['required', 'image', 'mimes:jpeg,png,jpg', 'max:2048'],
     ]);}

相关问题