Laravel 5.4 下载 csv 文件不起作用
Posted
技术标签:
【中文标题】Laravel 5.4 下载 csv 文件不起作用【英文标题】:Laravel 5.4 download csv file is not working 【发布时间】:2017-10-19 18:18:31 【问题描述】:我要求在用户单击链接下载 csv 文件后,必须在我们的应用程序路径中下载该 csv 文件。我已经为它编写了代码,但它没有工作得到与路由相关的错误,它没有进入指定的控制器方法。我的代码是
<a href="/alerts/download">Download</a>
我的控制器:
public function getDownload(Request $request)
//CSV file is stored under project/public/download/sample.csv
$file= public_path(). "/download/sample.csv";
return response()->download($file);
我的路线
Route::get('alerts/download', 'AlertsController@getDownload');
我收到错误消息:
我用谷歌搜索并尝试了一些解决方案,但没有奏效。任何帮助,将不胜感激。谢谢。
【问题讨论】:
【参考方案1】:我在创建控制器时使用命令“php artisan make:controller BookController --resource --model=Book”将控制器与模型绑定,因此我删除了控制器并使用命令“php artisab route:clear”清除了路由" 之后,我使用命令 "php artisan make:controller MyController --resource" 再次创建了控制器。我使用了以下代码:
<a href="/alerts/download/sample.csv">Download</a>
路线:
Route::get('/alerts/download/file', 'AlertsController@getDownload');
我的控制器:
public function getDownload($file_name)
//CSV file is stored under project/public/download/sample.csv
$file_path = public_path('download/'.$file_name);
return response()->download($file_path);
我在这里找到了解决方案:Download files in laravel using Response::download
感谢***。 Laravel Rockzz。
【讨论】:
以上是关于Laravel 5.4 下载 csv 文件不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Route::currentRouteAction 在 laravel 5.4 中不起作用