繁体   English   中英

Laravel 5.8。 如何上传文件?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM