【问题标题】:Excel file validation in laravel dose not worklaravel中的Excel文件验证不起作用
【发布时间】:2018-02-15 20:56:42
【问题描述】:
$this->validate($request,
[
   'file'=> 'required|mimes:xlsx'
]);

当我尝试上传 .xlsx 文件时,验证器失败。

【问题讨论】:

  • 尝试通过 $file->getMimeType() 调试文件 mime 类型
  • 你能打印你的所有请求并检查上传的文件是否正确以及它包含什么扩展名,就像这样 dd($request->all());
  • 请注意,文件不是空的,我在尝试使用空文件时浪费了 4 个小时

标签: excel laravel validation


【解决方案1】:

你应该试试下面的代码:

$validator = Validator::make(
  [
      'file'      => $request->file,
      'extension' => strtolower($request->file->getClientOriginalExtension()),
  ],
  [
      'file'          => 'required',
      'extension'      => 'required|in:xlsx,xls',
  ]

);

您还可以通过控制器进行检查,例如:

if(Input::hasFile('import_file')){
    $uploadedFileMimeType = Input::file('import_file')->getMimeType();

    $mimes = array('application/excel','application/vnd.ms-excel','application/vnd.msexcel');

    if(in_array($_FILES['import_file']['type'], $mimes)){

        //True
    } else{

        return redirect()->back()->withInput()->withFlashDanger("Please select Only Excel File");

    }
}

【讨论】:

    猜你喜欢
    • 2019-06-17
    • 1970-01-01
    • 2018-01-20
    • 2018-07-12
    • 1970-01-01
    • 2015-05-28
    • 2013-07-09
    • 1970-01-01
    • 2018-06-19
    相关资源
    最近更新 更多