我想用laravel上传图片:我在mysql中创建了这个字段:
imagepath varchar 250
创建表单:
<form method="post" id="formId" action="/ticket" enctype="multipart/form-data">
{{ csrf_field() }}
<div class="form-group ">...other fields
<div class="form-group">
<input type="file" class="form-control-file" name="imageFile" id="imageFile" aria-describedby="fileHelp">
</div>
在我的控制器中:
public function store(Request $request)
{
$fileName = request()->imageFile->getClientOriginalExtension();
dd($fileName);//echos ".jpg"
$tickes = Users::create(['imagePath' => $fileName]);
}
但是我的db总是为null!我想将它存储在Laravel的公共/存储文件夹中 . 请帮忙!
2 回答
您可以使用此代码将图像上传到`public / storage /目录:
此代码仅保存文件扩展名,而不保存图像路径 .
在数据库获取路径之前,您需要将文件保存到存储 . Laravel有很好的文档,这个链接可以帮助你解决这个问题 . https://laravel.com/docs/5.6/filesystem