0
我有点困惑与响应::下载()4.2Laravel响应::下载()没有Laravel暴露的下载路径
我想触发下载一个ZIP压缩文件,而不暴露实际的公共路径该文件的..
这是访问
Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException
我的路线是这样写的路由时,我得到的错误:
/*
/Download Package (GET)
*/
Route::get('/download-packages/{$package}', array(
'as' => 'download-package',
'uses' => '[email protected]'
));
在控制器getPackageDownload功能是这样写的:
public function getPackageDownload($package){
$file = public_path() . "/downloads/packages/" . $package . ".zip" ;
$name = $package . ".zip";
$headers = array(
'Content-Type' => 'application/zip',
);
return Response::download($file, $name, $headers);
}
我的视图按钮代码:
<a href="{{ URL::route('download-package',[$package->package]) }}" target="_blank">Download</a></div>
视图生成的下载链接是这样的
http://app.dev/laravel/public/download-packages/package-name
它与ZIP文件的实际公共位置不同,但这是我们所期望的,我的理解是响应应该是在getPackageDownload函数中触发。