如果文件在 Laravel 中上传,则文件 MIME 类型验证

Sag*_*tam 3 php validation mime file-upload laravel

我有一个文件上传字段:

<input class="form-control" type="file" name="image[]" multiple="multiple">
Run Code Online (Sandbox Code Playgroud)

该字段是可选的。用户可以添加或不添加文件。

我想要文件类型验证,我不想允许用户添加图像以外的文件。这是我迄今为止所做的。

$this->validate($request,[
        'image.*' => 'mimes:jpg,jpeg,png,bmp,tiff |max:4096',
    ],$messages = [
        'mimes' => 'Please insert image only',
    ]);
Run Code Online (Sandbox Code Playgroud)

但是,当没有上传文件时,验证没有通过。任何帮助表示赞赏。

小智 6

根据 Laravel 5.8

使用请求数据进行文件验证,上传前检查所需、mime 类型和文件大小

$validator = Validator::make($request->all(),[
        'image' => 'required|mimes:jpg,jpeg,png,bmp,tiff |max:4096',
    ],$messages = [
        'mimes' => 'Please insert image only',
        'max'   => 'Image should be less than 4 MB'
    ]);

dd($validator->errors());
Run Code Online (Sandbox Code Playgroud)

注意:不要忘记使用 Validator Facade