首页 > 解决方案 > Laravel 7浏览器不下载文件

问题描述

我在我的 Windows 10 机器上运行 Xampp,并且我的files.txt目录项目中有一个名为的文件。

[...]存储\应用\公共

我的config/filesystem.php样子:

    'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
        'permissions' => [
            'file' => [
                'public' => 0664,
                'private' => 0600,
            ],
            'dir' => [
                'public' => 0775,
                'private' => 0700,
            ],
        ],
    ],

在我的控制器上,我正在调用要下载的文件

return response()->download(storage_path("app\public\\files.txt"),'down.txt');

我收到 200 状态好的,我收到的标题内容:

内容处置:附件;filename=files.txt ,在浏览器 Xhr devtools 的响应中,我可以看到文件的内容,但不满意下载不会发生。

标签: phplaravel

解决方案


您可以尝试指定标头吗:

$content = storage_path("app\public\files.txt");
$fileName = 'down.txt';
$headers = [
  'Content-type' => 'text/plain', 
  'Content-Disposition' => sprintf('attachment; filename="%s"', $fileName),
  'Content-Length' => strlen($content)
];   

return response()->download($content,$fileName, $headers);

推荐阅读