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' => '添加失败']);
    }

 

 

 

posted @ 2021-12-12 15:42  王越666  阅读(160)  评论(0编辑  收藏  举报