2016-09-27 44 views
2

我已經輸入怎麼辦了多張圖片驗證在laravel上傳5.3

<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. 

回答

5

在循環之外移動驗證並嘗試使用規則:

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

這是最好的答案 –