2017-11-13 16 views
0

複数の画像をアップロードするには次のコードを使用していますが、ファイルの拡張子とファイルサイズを指定する必要があります。現在はすべてをアップロードしています。Laravel 5.4検証ルールを使用して複数の画像をアップロード

これは私のHTMLビューコードです:

<input required="" type="file" name="photos[]" id="photos" multiple="" directory="" webkitdirectory="" mozdirectory=""> 

は、これは私のコントローラのコードです:

foreach ($request->photos as $photo) { 
    $filename = $photo->store('photos'); 
    $data['photoName'] = $filename; 
    PhotosModel::SavePhotos($data); 
    $message = "Photos Added Successfully"; 
} 

私はforeachループ内で、そのループの前にコードの下に追加されましたが、それはというエラーを与えています写真は画像でなければなりません。

$this->validate($request, [ 
    'photos' => 'required|image|mimes:jpeg,png,jpg,gif|max:2048' 
]); 

すべての画像をアップロードして他のファイルのアップロードを停止したいとします。ありがとう!

答えて

0

は(あなたのforeachの前に)これを試してみてください:

$this->validate($request, [ 
    'photos' => 'required', 
    'photos.*' => 'image|mimes:jpeg,png,jpg,gif|max:2048' 
]); 
+0

私はそれが働いていた、という試みたが、私は、ユーザーが20枚の画像と1つのPDFファイルをアップロードする場合、それはそれらの画像をアップロードしても、PDFファイルをスキップする必要があります。 –

関連する問題