经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » PHP » 查看文章
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
来源:jb51  时间:2019/10/14 9:38:58  对本文有异议

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

以上这篇laravel实现一个上传图片的接口,并建立软链接,访问图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛