问题
I've an input
<input type="file" name="image[]" multiple="multiple" />
and controller function
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);
}
}
but all the time validator gives me error that
The image must be an image.
回答1:
Move validation outside the loop and try with the rules:
'image' => 'required',
'image.*' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048'
来源:https://stackoverflow.com/questions/39727463/how-to-do-validation-for-multiple-images-upload-in-laravel-5-3