Laravel:无法下载生成的文件
Posted
技术标签:
【中文标题】Laravel:无法下载生成的文件【英文标题】:Laravel: Can't download the generated file 【发布时间】:2021-08-05 07:51:45 【问题描述】:我有一个生成 excel (.csv) 文件的函数。一切正常,除了下载。 所以我的想法是生成csv文件后在浏览器中自动下载文件。生成文件后,我们将其存储在公用文件夹中。 因此,当我调用我的函数时,该函数正在打开 url:http://127.0.0.1:8000/project/tools/export/exportData 并显示文件而不是下载它。所以为此我需要你的帮助!先感谢您。 我的代码:
public function exportData()
$size=sizeof($arr);
for($i=0; $i<$size; $i++)
fputcsv($fh,$arr[$i]);
fclose($fh);
$file="Export.csv";
$headers = array(
'Content-Type: text/csv',
);
return response()->download($file, 'Export.csv', $headers);
【问题讨论】:
查看***.com/a/20415796/2324206 @Haridarshan 谢谢,但我试过了,但它显示在浏览器中而不是下载它.. 【参考方案1】:您可以将content-disposition 添加到您的标题中以指示如何处理文件:
$headers = [
'Content-type' => 'text/csv',
'Content-Disposition' => 'attachment; filename="filename.csv"',
];
要在浏览器中显示文件而不是下载文件,您可以将attachment
换成inline
。
【讨论】:
您好@marks 感谢您的回复!我试过你的代码,但它仍然显示文件..以上是关于Laravel:无法下载生成的文件的主要内容,如果未能解决你的问题,请参考以下文章