我正在尝试使用bootstrap-fileinput插件在laravel项目中上传个人资料图片 这是视图
@section('content')
<div class="fileinput fileinput-new" data-provides="fileinput">
<div class="fileinput-new thumbnail" style="width: 200px; height: 150px;">
<img src="http://www.placehold.it/200x150/EFEFEF/AAAAAA&text=no+image" alt="" /> </div>
<div class="fileinput-preview fileinput-exists thumbnail" style="max-width: 200px; max-height: 150px;"> </div>
<div>
<span class="btn default btn-file">
<span class="fileinput-new"> Select image </span>
<span class="fileinput-exists"> Change </span>
<input type="file" name="..."> </span>
<a href="javascript:;" class="btn red fileinput-exists" data-dismiss="fileinput"> Remove </a>
</div>
</div>
@endsection
目标是将此映像上传到存储目录并将路径存储到db表中的文件,但我不知道如何做到这一点,我通过POST将表单提交到控制器中的存储方法。 这是函数
public function store(Request $request)
{
//
$this->validate($request, [
'first_name' => 'required',
'dob' => 'required',
'mobile_no' => 'unique:customers',
'adhar_no' => 'unique:customers',
]);
$customer = new customer;
$customer->first_name = $request->first_name;
$customer->last_name = $request->last_name;
$customer->gender = $request->gender;
$customer->dob = $request->dob;
$customer->mobile_no = $request->mobile_no;
$customer->adhar_no = $request->adhar_no;
$customer->street = $request->street;
$customer->save();
return redirect('home/customer');
}
请帮忙
答案 0 :(得分:1)
使用laravel 5.4,从请求中获取文件非常容易。在您的情况下,您可以使用:
$file = $request->file('file');
或者:
$file = $request->file;
要存储文件,您可以使用store
方法,如下所示:
$path = $request->file->store('the/path');
之后,您可以将返回的路径($ path)与其他客户详细信息一起存储在数据库中。
有关详细信息,请访问此页面:Retrieving Uploaded Files如果您想在处理文件之前验证该文件,请参阅:Validation Image Rule
我希望这会对你有所帮助。祝你好运。