laravel实现一个上传图片的接口,并建立软链接,访问图片的方法

2020-09-04 08:21:50

我们同时上传的还有昵称,图片是保存在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()); }}
相关文章 大家在看