If you're using Laravel's methods to download a file, it's important to delete it afterward to avoid overloading the server. While you can manually delete the file using the File
facade, I recently discovered the deleteFileAfterSend
method:
/**
* Download the file of the user then delete it.
*/
public function download(User $user)
{
$filename = "{$user->name}.txt";
file_put_contents(public_path($filename), json_encode($user));
return response()->download(public_path($filename))->deleteFileAfterSend();
}
Top comments (0)