Laravel无法以csv格式下载文件

时间:2017-06-29 11:26:19

标签: php laravel-5

我的代码中出现了问题 我想要的:点击导出按钮后,将从浏览器自动下载一个CSV文件。

但它只显示inspect元素的网络选项卡中的数据,但不会下载。

public function Exportcsv(Request $recuestdata) {

 $headers = array(
    "Content-type" => "text/csv",
    "Content-Disposition" => "attachment; filename=file.csv",
    "Pragma" => "no-cache",
    "Cache-Control" => "must-revalidate, post-check=0, pre-check=0",
    "Expires" => "0"
  );

  $filename = "order";
  $output = fopen($filename, 'w+');
  $data=json_decode($recuestdata['row']);

  foreach ($data as $line) {
    fputcsv($output, $line);
  }
  return Response::download($filename, 'order.csv', $headers);
}

1 个答案:

答案 0 :(得分:0)

首先改变

$filename = "order"; 

$filename = "order.csv";

Laravel 5中的下载方法也可以用作

return response()->download($pathToFile, $name, $headers);

然而,您使用的内容适用于Laravel 4和5,但将$filename更改为$output

return Response::download($output, 'order.csv', $headers);