为什么 hasFile() 方法 return 为假?

Why hasFile() method return false?

我从我的 html 表单发送文件并将我的文件转储到控制器中。转储结果 return 文件名正确的结果。

dump($request->file);

但是,如果我检查是真还是假,那么 var_dump() return 是假的。

var_dump($request->hasFile('file'));

那是因为 $request->file 是一个字符串而不是 Illuminate\Http\UploadedFile 的实例。

您应该只对文件使用 ->hasFile()

我只是补充一点。 当您不在表单中添加 enctype="multipart/form-data" 时,您也会遇到此类问题。

<form action="{{ route('store') }}" method="POST" enctype="multipart/form-data">

或使用表单助手 'file' => true

{!! Form::open(['route' => ['store'], 'file' => true]) !!}

我认为这会对某人有所帮助。