To download a file in Laravel, you can use the “download” method available in the Illuminate\Http\Response class. This method allows you to generate a response that will trigger a file download in the user’s browser.
Here is an example of how you can use the “download” method to generate a file download response:
$filePath = storage_path('app/path/to/file.pdf');
$fileName = 'file.pdf';
$headers = [
'Content-Type' => 'application/pdf',
];
return response()->download($filePath, $fileName, $headers);
In the example above, we are providing the file path (‘$filePath’) of the file we want to download, along with the desired file name (‘$fileName’). We also set the ‘Content-Type’ header to specify the file type (in this case, it’s a PDF file). Finally, we return the response using the ‘download’ method, which will trigger the file download in the user’s browser.
You can customize the response further, such as adding additional headers or modifying the file name. The ‘download’ method provides options for controlling the behavior of the download, such as specifying the file’s ‘Content-Disposition’ or setting the response status code.
Note that in order to use the ‘download’ method, you need to have the ‘symfony/http-foundation’ component installed in your Laravel project. This component provides the underlying functionality for generating the file download response.