【问题标题】:Laravel 5.4 download csv file is not workingLaravel 5.4 下载 csv 文件不起作用
【发布时间】: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');

我收到错误消息:

我用谷歌搜索并尝试了一些解决方案,但没有奏效。任何帮助,将不胜感激。谢谢。

【问题讨论】:

    标签: csv download laravel-5.4


    【解决方案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

    感谢stackoverflow。 Laravel Rockzz。

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 2017-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      • 2017-12-04
      • 2017-07-27
      • 1970-01-01
      相关资源
      最近更新 更多