Pentru a livra fișiere stocate local sau în cloud direct ca descărcare către utilizator, helperul response()->download($cale, $numeAfisat) generează antetele HTTP corespunzătoare pentru forțarea ferestrei de descărcare.
Pentru generarea dinamică de date voluminoase (cum ar fi exporturi CSV cu zeci de mii de linii), metoda response()->streamDownload() consumă un callback anonim și trimite datele direct în flux, eliminând necesitatea creării unui fișier temporar pe disc.
Exemplu: Export CSV în flux prin streamDownload
use App\Models\User;
use Illuminate\Support\Facades\Response;
public function exportUsersCsv()
{
return response()->streamDownload(function () {
$handle = fopen('php://output', 'w');
fputcsv($handle, ['ID', 'Nume', 'Email']);
User::chunk(200, function ($users) use ($handle) {
foreach ($users as $user) {
fputcsv($handle, [$user->id, $user->name, $user->email]);
}
});
fclose($handle);
}, 'utilizatori.csv', ['Content-Type' => 'text/csv']);
}
Întrebări & Exemple de Cod:
Descărcare Fișiere și Streaming cu response()->download()Ai o nelămurire despre utilizarea comenzii
Descărcare Fișiere și Streaming cu response()->download()sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.