【Laravel】ファイルアップロードのバリデーション[PDF・画像など]
【やりたいこと】
ファイルをアップロードする際に、PDFだけや画像だけといった、
特定のファイル形式のもののみ保存されるようにしたい。
【コード】
コントローラでバリデーションしてやる。
$request->validate([ 'file' => ['mimes:pdf'] ]);
画像の場合、'mimes:jpeg, png, gif, bmp'でOK.
PDFの場合、'mimes:pdf'となる。
ちなみにというか、当然だがメディアタイプの判別を行っているので、mimes:pdfとしたときに photo.pngをphoto.pdfのようなファイル名に変えただけでも勿論弾いてくれる。
当初はファイル名での判定を考えていたが、メディアタイプ判定でより確実なものとできる。