How to Download Image in Laravel

In this section, we will see how to upload and download images in Laravel. There are two ways to download images in Laravel. First, you can use the HTML download attribute. Second, you can use the Laravel download method.

Example 1

Download Image in laravel using html download Attribute.

<a href="{{ Storage::url($file->image)}}" target="_blank" download>Download</a>  

Example 2

Download Image using laravel download method.

public function downloadImage(Image $image)
{
    $imagePath = Storage::url($image->image);

    return response()->download(public_path($imagePath));
}

In your blade file add below code.

<a href="{{ route('download.image',$image->id) }}" target="_blank">Download</a>  

Now create route for image download.

Route::get('image-download/{image}', [ImageController::class, 'downloadImage'])->name('download.image');
Download Image
saim ansari
saim ansari

I'm Saim Ansari, a full-stack developer with 4+ years of hands-on experience who thrives on building web applications that leave a lasting impression. When it comes to tech, I'm particularly adept at Laravel, React, Tailwind CSS, and the Tall Stack