Laravel5.5 文件上传
程序员文章站
2022-05-19 15:50:02
...
一、配置文件
进入/config/filesystems.php,在 disks 添加上传文件配置信息:
'upload' => [
'driver' => 'local',
'root' => public_path('upload/'),
],
效果如下:
二、模版页面
<div class="mws-form-row">
{!! Form::label('image','上传头像:',['class'=>'mws-form-label']) !!}
{!! Form::file('image') !!}
</div>
三、控制器
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Storage;
public function store(Request $request)
{
if ($request->hasFile('image') && $request->file('image')->isValid()) {
$return $this->uploadFile($image);
}
return "没有上传文件";
}
private function uploadFile($image, $id = 0) {
// 获取上传文件名称
$originalName = $image->getClientOriginalName();
// 获取上传文件后缀
$ext = $image->getClientOriginalExtension();
// 获取上传文件路径
$realPath = $image->getRealPath();
// 获取上传文件的Mime类型
// $type = $image->getClientMimeType();
$newFileName = 'adminer/'. date('Ymd') . '/' . md5(microtime()). '.' . $ext;
if (Storage::disk('upload')->put($newFileName, file_get_contents($realPath))) {
return '/upload/'. $newFileName;
}
return null;
}
四、模版中读取文件
<img src="{{ $image }}" />