我们同时上传的还有昵称,图片是保存在resource表里面,,
对应在userProfile有关联id;利用laravel自带上传很方便,,
但是不能直接访问,,所以需要建立软链接:
PHP artisan storage:link
执行该条命令会在public里面生成存储图片的文件夹,就可以通过地址访问了
public function uploadAvatar(Request $request) { $validator = Validator::make($request->all(), [ 'nickname' => 'required|string|max:8', 'avatar' => 'required', ]); if ($validator->fails()) { return $this->responseForJson(ERR_ACCESS_DENID, $validator->errors()); } $user_id=Auth::id(); $avatar = $request->file('avatar')->store('/public/'.date('Y-m-d').'/avatars'); $avatar = Storage::url($avatar); $resource=Resource::insertGetId(['type'=>1,'resource'=>$avatar]); $Data=['user_id'=>$user_id,'avatar'=>$resource,'nickname'=>$request->nickname]; try { $edit = UserProfile::where('user_id',$user_id)->update($Data); if ($edit) { return $this->responseForJson(ERR_OK, 'upload success'); } return $this->responseForJson(ERR_CREATE, 'upload fail'); }catch (\Exception $exception) { return $this->responseForJson(ERR_ACCESS_DENID, $exception->getMessage()); } }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
长按识别二维码并关注微信
更方便到期提醒、手机管理