Laravel 中的 Excel 文件验证不起作用

abd*_*aby 5 validation excel laravel

$this->validate($request,
[
   'file'=> 'required|mimes:xlsx'
]);
Run Code Online (Sandbox Code Playgroud)

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

Add*_*Ltd 1

您应该尝试下面的代码,例如:

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

);
Run Code Online (Sandbox Code Playgroud)

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

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");

    }
}
Run Code Online (Sandbox Code Playgroud)