我要求用户点击链接后下载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');
我用谷歌搜索并尝试了一些解决方案,但没有工作。任何帮助,将不胜感激。感谢。
答案 0 :(得分: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');
myController的:
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。