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
454 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!

sumber:php.cn
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