如何使用Laravel的Storage Facade以非ASCII字符下载文件?

时间:2019-01-09 01:22:51

标签: php laravel filenames laravel-storage

我正在尝试使用Laravel的Storage::download()方法下载文件,但是在许多情况下,文件名使用日语字符。但是,在这种情况下,Laravel会引发错误The filename fallback must only contain ASCII characters.,此文件会引发此错误:/vendor/symfony/http-foundation/HeaderUtils.php 那么,如何使用Laravel的Storage Facade以非ASCII字符下载文件?

1 个答案:

答案 0 :(得分:0)

src/Illuminate/Filesystem/FilesystemAdapter.php

中进行更改

函数public function response

代替$disposition = $response->headers->makeDisposition($disposition, $name ?? basename($path));

添加下一个:

$filenameFallback = Str::ascii(basename($path));
$disposition = $response->headers->makeDisposition($disposition, $name ?? $filenameFallback, $filenameFallback);

有关更多信息,请单击here