在Laravel 5.3中,我试图捕获上传文件的文件大小是否大于upload_max_filesize.上传字段不是必需的.
我尝试过这种方法,但它不起作用
public function checkFile($field)
{
if (request()->hasFile($field)){ // check if field is present
$file = request()->file($field);
if (!$file->isValid()){ // now check if it's valid
return back()->with('error', $file->getErrorMessage());
}
}
}
我不能只使用if(!$file-> isValid()),因为文件字段是可选的,如果字段为空,我会在null上获得对成员函数isValid()的调用.
因此,我必须使用if(request() – > hasFile($field))检查字段是否存在,但这对大文件不起作用,因为dd(request() – > hasFile(‘picture’) )返回false.
当然我可以依赖默认的Laravel Validator消息,但是我得到了一个虚拟图片无法上传.这没有给用户任何线索.