File Storage allows Laravel to upload, store, retrieve, and delete files.

Laravel Storage Structure

project/
│
├── storage/
│   ├── app/
│   │   ├── public/
│   │   └── uploads/
│   │
│   └── logs/
│
└── public/

Step 1: Create Storage Link:

php artisan storage:link

This create

public/storage  →  storage/app/public

Now files stored in storage/app/public can be accessed through the browser.

Step 2: Store a File:

public function upload(Request $request)
{
    $path = $request->file('image')->store('images', 'public');

    return $path;
}
storage/app/public/images/photo.jpg

Step 3: Display the File:

<img src="{{ asset('storage/'.$path) }}">