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

我正在使用 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 文件夹中。


交互式爱情
浏览 130回答 2
2回答

茅侃侃

我遇到了类似的问题,请检查这些行是否可以改变您想要实现的目标。\Storage::disk('players')->put("{$user->id}/{$image_name}", \File::get($image));我希望它能帮助你。亲切的问候。

慕桂英4014372

磁盘调用告诉Laravel要使用哪个文件系统,假设您有一个 ID 为 1 的用户,您的代码将访问文件系统 players1。通常所做的是将这些文件放在不同用户的文件夹结构中,因此您可以这样做。这会将您的图像文件放在文件夹 1 中。\Storage::disk('players')->put($user->id . '/' . $image_name, \File::get($image));
打开App,查看更多内容
随时随地看视频慕课网APP