Home > PHP Framework > Laravel > body text

Laravel download function cannot be used in Chinese

PHPz
Release: 2023-05-29 14:23:38
Original
450 people have browsed it

When developing using Laravel, we may encounter the problem that the download function cannot correctly handle Chinese file names. This problem is mainly caused by the inclusion of Chinese characters in the file name. To solve this problem we need to URL encode the filename.

In PHP, you can use the urlencode() function to encode file names. However, in Laravel we can use the built-in Str::slug() method to accomplish this task.

Str::slug() The method can convert a string into URL-friendly "slug" format. However, we can choose not to pass in the second parameter to retain the original characters and only perform URL encoding.

The following is a sample code:

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);
}
Copy after login

In the above code, we use the Str::slug() method to encode the file name and The encoded string is passed as the second parameter to the download() method.

In this way, we can ensure that Laravel can correctly handle file names containing Chinese characters when processing downloaded files.

The above is the detailed content of Laravel download function cannot be used in Chinese. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!