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

(编辑:jimmy 日期: 2026/1/15 浏览:2)

我们同时上传的还有昵称,图片是保存在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实现一个上传图片的接口,并建立软链接,访问图片的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。