如何使用 Laravel 的存储外观以非 ASCII 字符下载文件



我正在尝试使用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);

欲了解更多信息,请单击此处

相关内容

  • 没有找到相关文章

最新更新