我正在尝试使用Laravel的Storage::download()
方法下载文件,但在许多情况下文件名是日语字符。但是在这种情况下,Laravel抛出错误The filename fallback must only contain ASCII characters.
此错误由以下文件引发:/vendor/symfony/http-foundation/HeaderUtils.php
那么,如何使用 Laravel 的存储外观以非 ASCII 字符下载文件?
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);
欲了解更多信息,请单击此处