在Laravel上传文件 - 错误的路径

I am beginner in Laravel. I have this code:

if ($request->hasfile('profilePhoto')) {
            $this->validate($request, [
                'profilePhoto' => 'required',
                'profilePhoto.*' => 'mimetypes:image/jpg'
            ]);
            $image = $request->file('profilePhoto');
            $extension = strtolower($image->getClientOriginalExtension());
            $path = 'upload/images/UserImage/';
            $uniqueName = md5($image . time());
            $image->move(public_path($path), $uniqueName . '.' . $extension);
        }

This function uploads files to public/upload/images/UserImage/. I need it to store it in storage/app/upload/images/UserImage/ instead

How can I rewrite my code?

You have to use storage_path function ("storage/app/upload" folder must exist):

$image->move(storage_path("app/upload"), $uniqueName . '.' . $extension);
if ($request->hasfile('profilePhoto')) {
        $this->validate($request, [
              'profilePhoto' => 'required',
              'profilePhoto.*' => 'mimetypes:image/jpg'
        ]);
        $image = $request->file('profilePhoto');
        $extension = strtolower($image->getClientOriginalExtension());
        $path = storage_path('app/public/upload/images/UserImage');
        $uniqueName = md5($image . time());
        $image->move(public_path($path), $uniqueName . '.' . $extension);
 }

A common way in Laravel to upload to storage/app is through the local disk driver.

$file = $path . $uniqueName . '.' . $extension;
\Storage::disk('local')->put($file, $request->file('profilePhoto'));

Storage::disk('local') points to storage/app/.

As your $path variable is already declared like this $path = 'upload/images/UserImage/' .So instead of storing data to public_path you can store to storage_path().

$image->move(storage_path($path), $uniqueName . '.' . $extension);