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