【问题标题】:Laravel: Can't download the generated fileLaravel:无法下载生成的文件
【发布时间】: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);
  
}

【问题讨论】:

标签: php laravel csv


【解决方案1】:

您可以将content-disposition 添加到您的标题中以指示如何处理文件:

$headers = [
    'Content-type'        => 'text/csv',
    'Content-Disposition' => 'attachment; filename="filename.csv"',
];

要在浏览器中显示文件而不是下载文件,您可以将attachment 换成inline

【讨论】:

  • 您好@marks 感谢您的回复!我试过你的代码,但它仍然显示文件..
猜你喜欢
  • 1970-01-01
  • 2019-09-12
  • 2023-02-24
  • 2012-12-19
  • 2021-11-27
  • 2013-07-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多