为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Laravel 中将用户 ID 设置为存储路径?

如何在 Laravel 中将用户 ID 设置为存储路径?

PHP
交互式爱情 2021-10-08 14:27:31
我正在使用 Laravel 5 和 MongoDB 构建一个 Restful API。我正在为用户保存头像。它工作正常,但我正在尝试为每个用户创建一个文件夹。例如:"app/players/images/USERID"我试图以不同的方式做这样的事情,但我总是得到不支持 Driver [] 。\Storage::disk('players'.$user->id)->put($image_name, \File::get($image));上传图片:    public function uploadImage(Request $request)    {    $token = $request->header('Authorization');        $jwtAuth = new \JwtAuth();    $user = $jwtAuth->checkToken($token, true);        $image = $request->file('file0');        $validate = \Validator::make($request->all(), [            'file0' => 'required|image|mimes:jpg,jpeg,png'        ]);        if ( !$image || $validate->fails() )         {            $data = array(                'code' => 400,                'status' => 'error',                'message' => 'Image uploading error-'            );        }        else        {            $image_name = time().$image->getClientOriginalName();            \Storage::disk('players')->put($image_name, \File::get($image));            $user_update = User::where('_id', $user->id)->update(['imagen' => $image_name]);            $data = array(                'code' => 200,                'status' => 'success',                'user' => $user->id,                'imagen' => $image_name            );        }    return response()->json($data, $data['code']);    }文件系统.php:        'players' => [            'driver' => 'local',            'root' => storage_path('app/players/images/'),            'url' => env('APP_URL').'/storage',            'visibility' => 'public',        ],我希望用户头像图像保存在用户 ID 文件夹中。
查看完整描述

2 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

我遇到了类似的问题,请检查这些行是否可以改变您想要实现的目标。

\Storage::disk('players')->put("{$user->id}/{$image_name}", \File::get($image));

我希望它能帮助你。亲切的问候。


查看完整回答
反对 回复 2021-10-08
?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

磁盘调用告诉Laravel要使用哪个文件系统,假设您有一个 ID 为 1 的用户,您的代码将访问文件系统 players1。

通常所做的是将这些文件放在不同用户的文件夹结构中,因此您可以这样做。这会将您的图像文件放在文件夹 1 中。

\Storage::disk('players')->put($user->id . '/' . $image_name, \File::get($image));


查看完整回答
反对 回复 2021-10-08
  • 2 回答
  • 0 关注
  • 129 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信