当前位置:首页 > CMS教程 > 其它CMS > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2022-01-01 22:39:20 浏览: 评论:0 

今天小编就为大家分享一篇laravel实现一个上传图片的接口,并建立软链接,访问图片的方法,具有很好的参考价值,希望对大家有所帮助,一起跟随小编过来看看吧。

我们同时上传的还有昵称,图片是保存在resource表里面,对应在userProfile有关联id;利用laravel自带上传很方便。

但是不能直接访问,所以需要建立软链接:

PHP artisan storage:link

执行该条命令会在public里面生成存储图片的文件夹,就可以通过地址访问了

  1. public function uploadAvatar(Request $request
  2.  $validator = Validator::make($request->all(), [ 
  3.   'nickname' => 'required|string|max:8'
  4.   'avatar' => 'required'
  5.  ]); 
  6.  if ($validator->fails()) { 
  7.   return $this->responseForJson(ERR_ACCESS_DENID, $validator->errors()); 
  8.  } 
  9.  $user_id=Auth::id(); 
  10.  $avatar = $request->file('avatar')->store('/public/'.date('Y-m-d').'/avatars'); 
  11.  $avatar = Storage::url($avatar); 
  12.    
  13.  $resource=Resource::insertGetId(['type'=>1,'resource'=>$avatar]); 
  14.  $Data=['user_id'=>$user_id,'avatar'=>$resource,'nickname'=>$request->nickname]; 
  15.  try { 
  16.   $edit = UserProfile::where('user_id',$user_id)->update($Data); 
  17.   if ($edit) { 
  18.    return $this->responseForJson(ERR_OK, 'upload success'); 
  19.   } 
  20.   return $this->responseForJson(ERR_CREATE, 'upload fail'); 
  21.  }catch (\Exception $exception) { 
  22.   return $this->responseForJson(ERR_ACCESS_DENID, $exception->getMessage()); 
  23.  } 
  24. }

Tags: laravel上传图片 laravel软链接

分享到: