Downloader.php
1 <?php 2 3 namespace App\Http\Livewire\App; 4 5 use Illuminate\Support\Facades\Cache; 6 use Livewire\Component; 7 8 class Downloader extends Component 9 { 10 11 protected $listeners = [ 12 'download' => 'download', 13 ]; 14 15 public function download($filename, $cacheID) 16 { 17 $data = Cache::get($cacheID); 18 Cache::forget($cacheID); 19 20 return response()->streamDownload(function () use ($data) { 21 echo $data; 22 }, $filename); 23 } 24 25 public function render() 26 { 27 return view('livewire.app.downloader'); 28 } 29 }