【问题标题】:file mime type validation if file is uploaded in laravel如果文件在 laravel 中上传,则文件 mime 类型验证
【发布时间】:2017-11-08 16:24:44
【问题描述】:

我有一个文件上传字段:

<input class="form-control" type="file" name="image[]" multiple="multiple">

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

我想要文件类型验证,我不想让用户添加图像以外的文件。这是我到目前为止所做的。

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

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

【问题讨论】:

  • 制作一个工作区,如果文件不为空 $val = 'mimes:jpg,jpeg,png,bmp,tiff |max:4096'; else '' 并将 $val 放入 'image.*' => $val,

标签: php laravel validation file-upload mime


【解决方案1】:

根据 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());

注意:不要忘记使用验证器外观

【讨论】:

    【解决方案2】:

    我可能会检查该文件是否存在于请求中,然后对其进行验证。 例如:

    if ($request->has('image') {
        // Do your validation check
     }
    

    【讨论】:

      猜你喜欢
      • 2016-08-05
      • 2014-03-01
      • 2016-12-28
      • 1970-01-01
      • 2023-03-19
      • 2020-02-17
      • 2010-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多