laravel7文件上传至七牛云并保存在本地图片
HTML代码:
<form class="layui-form" action="{{route('doctor.store')}}" method="post" enctype="multipart/form-data" style="width: 500px"> <div class="layui-form-item layui-form-text"> <label class="layui-form-label">医生照片</label> <div class="layui-input-block"> <input type="file" name="img" autocomplete="off" class="layui-input"> </div> </div> </form>
路由
Route::post('doctor/store','DoctorController@store')->name('doctor.store');
控制器代码:
public function store(Request $request) { // $data = $request->post(); // 将文件上传至本地 $img = $request->file('img'); if (!empty($img)){ $img = "/".$request->file('img')->store(date('y/m/d')."/".'img'); $data['img'] = $img; } // 文件上传至七牛云 $disk = \Storage::disk('qiniu'); //使用七牛云上传 $time = date('Y-m-d');//文件上传时间 $filename = $disk->put($time, request()->file('img'));//上传 这里的image是前端的name值,自己来定 // 验证 $this->validate($request, ['name' => 'required', 'zhicheng' => 'required', 'img' => 'required'], ['name.required' => '医生姓名不可以为空', 'zhicheng.required' => '医生职称不可以为空', 'img.required' => '图片不可以为空']); //添加入库 $res = Doctor::create($data); if ($res) { return redirect(route('doctor.index'))->with(['success' => '添加成功']); } return redirect(route('doctor.create'))->withErrors(['error' => '添加失败']); }