【发布时间】:2014-11-14 03:54:18
【问题描述】:
我正在使用 Laravel 4 框架,我有一个函数可以创建一个名为 data_78888.csv 的 csv 文件,每次运行该函数以生成 csv 文件时,数字 78888 都会发生变化。该函数返回这样的字符串:“Download/78888”
创建我的 csv 文件的文件夹称为“输出”,位于我的应用文件夹所在的项目文件夹中(它不在公用文件夹中)。
我想做的是创建一个指向我的流程控制器的路由:
Route::get('Download/{token}', array('uses' => 'ProcessController@downloadCSV'));
在我的控制器中,我想将该 csv 文件发送到浏览器进行下载,我正在这样做:
<?php
class ProcessController extends BaseController {
public function downloadCSV($token){
$fileToDownload = "data_".$token.".csv";
$filePath = "outputs/";
return Response::download($filePath, $fileToDownload, array(
'Content-Type' => 'text/csv',
'Content-Disposition' => 'attachment;filename="'.$fileToDownload
));
}
}
问题是这不起作用,我得到一个名为 78888.htm 的 html 文件,并且服务器上出现错误。
请问我怎样才能使它工作?
【问题讨论】: