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 文件不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 5.4数据库迁移不起作用[重复]

Laravel 5.4 有时验证规则不起作用

laravel 5.4 auth 外观不起作用

Route::currentRouteAction 在 laravel 5.4 中不起作用

Laravel 5.4 Auth::User() 与关系不起作用

ajax 类型的帖子在 laravel 5.4 中不起作用