我已经完成了上传图像文件的教程。当用户上传大于 2MB 的文件时,如何在视图中验证文件上传?
创建.blade.php
@if (count($errors) > 0)
<div class="alert alert-danger">
<strong>Whoops!</strong> Errors.<br><br>
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<div class="form-group">
<input type="file" name="photos[]" multiple aria-describedby="fileHelp"/>
<small id="fileHelp" class="form-text text-muted">jpeg, png, bmp - 2MB.</small>
</div>
规则
public function rules()
{
$rules = [
'header' => 'required|max:255',
'description' => 'required',
'date' => 'required',
];
$photos = $this->input('photos');
foreach (range(0, $photos) as $index) {
$rules['photos.' . $index] = 'image|mimes:jpeg,bmp,png|max:2000';
}
return $rules;
}
一切都很好,但是当我尝试上传大于 2MB 的文件时,它给了我一个错误:
Illuminate \ Http \ Exceptions \ PostTooLargeException 没有消息
我该如何解决这个问题并保护这个异常?