Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Muat Turun Fail dalam Laravel Menggunakan Respons:: muat turun?

Bagaimana untuk Muat Turun Fail dalam Laravel Menggunakan Respons:: muat turun?

Mary-Kate Olsen
Lepaskan: 2024-11-04 15:20:02
asal
499 orang telah melayarinya

How to Download Files in Laravel Using Response::download?

Memuat Turun Fail dalam Laravel Menggunakan Respons::muat turun

Dalam Laravel, kaedah Respons::download membenarkan pengguna memuat turun fail dari pelayan . Berikut ialah penyelesaian kepada isu yang dihadapi semasa melaksanakan fungsi ini:

1. Isu Laluan Fail:

Ralat "Fail...not exist" menunjukkan laluan fail yang salah. Untuk menyelesaikan masalah ini, gunakan pembantu public_path() untuk menentukan laluan fizikal penuh ke fail:

$file= public_path(). "/download/info.pdf";
Salin selepas log masuk

2. Menghalang Navigasi Halaman:

Untuk mengelak daripada menavigasi ke paparan atau laluan lain, gunakan permintaan Ajax untuk mengendalikan muat turun fail. Begini caranya:

ViewController:

<button class="btn btn-large pull-right" data-href="/download" id="downloadBtn">
    <i class="icon-download-alt"></i> Download Brochure
</button>
Salin selepas log masuk

JavaScript:

$(document).ready(function() {
    $('#downloadBtn').click(function() {
        $.ajax({
            url: $(this).data('href'),
            success: function() {
                alert('File downloaded successfully!');
            },
            error: function() {
                alert('Error downloading file!');
            }
        });
    });
});
Salin selepas log masuk

Controller:

public function getDownload()
{
    // Same code as before, but now it returns a JSON response
    return response()->json([
        'success' => true,
        'message' => 'File downloaded successfully!'
    ]);
}
Salin selepas log masuk

Kemas kini untuk Laravel v5.0 :

Seperti yang dinyatakan dalam penyelesaian, anda boleh menggunakan kaedah respons() dalam Laravel v5.0 sebaliknya daripada fasad Respons. Struktur pengepala juga sedikit berbeza, seperti yang ditunjukkan di bawah:

$headers = [
    'Content-Type' => 'application/pdf',
];

return response()->download($file, 'filename.pdf', $headers);
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Muat Turun Fail dalam Laravel Menggunakan Respons:: muat turun?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan