[英]Laravel 5.8. How to upload file?
我有一个简单的表格:
<form method="post" action="{{ route('company.store') }}">
Logo: <br>
<input name="logo" type="file"><br>
在我的控制器中,我尝试使用
$file = $request->file('logo')->store('avatars');
但是我有错误
"Call to a member function store() on null"
dd($request->file('logo');
显示为'null'
如何到达文件进行保存?
要上传文件,您需要在打开表单标签时添加enctype="multipart/form-data"
:
<form method="post" action="{{ route('company.store') }}" enctype="multipart/form-data">
如果您不包括它,那么仅文件名将被提交并导致
$request->file('logo')
返回null
因为它不是文件,而是字符串。
上传文件需要一个enctype =“ multipart / form-data”
<form action="{{ route('company.store') }}" method="post" enctype="multipart/form-data" class="form-material"> {{csrf_field()}} <div class="form-body"> <h3 class="card-title">upload image</h3> <div class="form-group"> <label class="control-label">image 1</label> <input type="file" name="image_path" class="form-control"> </div> </div> </form> Your Controller should look like this . public function store(Request $request) { $this->validate($request,['image_path'=> 'required|image']); $company = new Company(); if($request->hasFile('image_path')) { $company->image_path= $request->file('image_path')->store('company','public'); } $company->save(); return back()->with('success', 'Done!'); }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.