laravel文件上传
laravel上传文件选择存储的磁盘,其中'driver'=>'local'指上传到本地驱动,'root'=>stroage_path('')指文件存放的路径
上传配置项路径在app/config/filesystems.php
我新建了一个uploads的磁盘,将上传的文件放在了app/uploads文件夹下
前端页面使用from表单上传文件,上传文件必须得家上enctype="multipart/form-data"这个属性 否则上传不了文件
<div class="panel-body">
<form class="form-horizontal" method="post" action="" enctype="multipart/form-data">
<div class="form-group">
<label class="col-sm-2 control-label">文件</label>
<div class="col-sm-5">
<input type="file" name="file" />
</div>
<div class="col-sm-5">
<p class="form-control-static text-danger"></p>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary">提交</button>
</div>
</div>
</form>
</div>
laravel后台接收前端传来的文件对象
public function upload(Request $request){
if($request->isMethod('POST')){
$file = $request->file('file');
if($file->isValid()){
$filename = $file->getClientOriginalName();//原文件名
$ext = $file->getClientOriginalExtension();//文件拓展名
$type = $file->getClientMimeType();//mimetype
$path = $file->getRealPath();//绝对路径
$filenames = time().uniqid().".".$ext;//设置文件存储名称
$res = Storage::disk('uploads')->put($filenames,file_get_contents($path));
}
}
return view('student.upload');
}