Originally posted @ https://codeanddeploy.com visit and download the sample code: https://codeanddeploy.com/blog/laravel/how-to-download-file-in-laravel-8
Advanced Laravel SAAS Starter Kit with CRUD Generator - GET YOUR COPY NOW!
In this short post, I'm sharing how to download files in Laravel 8. If have a project like an online digital shop in which users can download files after they purchase then this is for you. We are using a download() function from the Laravel 8 Response class to cater the download.
$filepath = a path for target file to be download
$filename = filename for the downloaded file
$headers = this is an array about the file content type to download
Response::download($filepath, $filename, $headers)
Now you have a basic idea about this function.
We will try to create a route for this.
Route::get('/purchased-download', [\App\Http\Controllers\PurchasedFileController::class, 'download'])->name('purchased.download');
Then let's write our controller, see the complete code below:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Response;
class PurchasedFileController extends Controller
{
public function index()
{
$path = public_path('for_pro_members.zip');
$fileName = 'purchase_files.zip';
return Response::download($path, $fileName, ['Content-Type: application/zip']);
}
}
Advanced Laravel SAAS Starter Kit with CRUD Generator - GET YOUR COPY NOW!
I hope this tutorial can help you. Kindly visit here https://codeanddeploy.com/blog/laravel/how-to-download-file-in-laravel-8 if you want to download this code.
Happy coding :)
Top comments (1)
hi friend,
if I want download some file, then delete it, I can use command:
return response()->download($SomeFileName)->deleteFileAfterSend(true);
but open question is:
if I want download some file, then delete it and then redirect Laravel application to some other page/route?
What is code for this case? Can you help me pls ...