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
Mary-Kate Olsenasal
2024-11-04 15:20:02541semak imbas

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";

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>

JavaScript:

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

Controller:

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

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);

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:
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