【发布时间】:2019-04-30 03:57:30
【问题描述】:
我已完成tutorial 上传图片文件。当用户上传大于 2MB 的文件时,如何在视图中验证文件上传?
create.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 无消息
我怎样才能解决这个问题并保护这个异常?
【问题讨论】:
标签: laravel laravel-validation laravel-filesystem