Rumah  >  Artikel  >  rangka kerja php  >  Fungsi muat turun Laravel tidak boleh digunakan dalam bahasa Cina

Fungsi muat turun Laravel tidak boleh digunakan dalam bahasa Cina

PHPz
PHPzasal
2023-05-29 14:23:38493semak imbas

Apabila membangun dengan Laravel, kami mungkin menghadapi masalah bahawa fungsi muat turun tidak dapat mengendalikan nama fail Cina dengan betul. Masalah ini disebabkan terutamanya oleh kemasukan aksara Cina dalam nama fail. Untuk menyelesaikan masalah ini kita perlu mengekod URL nama fail.

Dalam PHP, anda boleh menggunakan fungsi urlencode() untuk mengekod nama fail. Walau bagaimanapun, dalam Laravel kita boleh menggunakan kaedah Str::slug() terbina dalam untuk menyelesaikan tugas ini. Kaedah

Str::slug() menukar rentetan kepada format "slug" mesra URL. Walau bagaimanapun, kami boleh memilih untuk tidak memasukkan parameter kedua untuk mengekalkan aksara asal dan hanya melakukan pengekodan URL.

Berikut ialah contoh kod:

public function downloadFile($filename) {
    $fullPath = storage_path('app/download/' . $filename);
    $headers = [
        'Content-Type' => 'application/octet-stream',
    ];
    $escapedFilename = Str::slug($filename, '');
    return response()->download($fullPath, $escapedFilename, $headers);
}

Dalam kod di atas, kami menggunakan kaedah Str::slug() untuk mengekod nama fail dan menggunakan rentetan yang dikodkan sebagai Parameter kedua dihantar ke download() kaedah.

Dengan cara ini, kami boleh memastikan Laravel boleh mengendalikan nama fail yang mengandungi aksara Cina dengan betul semasa memproses fail yang dimuat turun.

Atas ialah kandungan terperinci Fungsi muat turun Laravel tidak boleh digunakan dalam bahasa Cina. 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