我试图在Laravel 4中传递包含从表单到控制器函数的路径的变量,目的是下载图像。我尝试了很多东西,但没有任何对我有用。如果我没有在路径中传递参数,我会得到一个缺失的参数错误,如果我在路径中传递参数,我会得到一个NotFoundHttpException。
这是我的代码:
查看表单:
{{ Form::open(array('route' => array('download', $myPath))) }}
{{ Form::submit('Download', array('class' => 'generator')); }}
{{ Form::close() }}
路线:
Route::post('/download/{myPath}', array('uses' => 'ImagesController@download', 'as' => 'download'));
ImagesController功能:
public function download($myPath){
return Response::download($myPath);
}
当我点击提交时,我使用NotFoundHttpException获取这样的URL:
我不明白我错过了什么。
答案 0 :(得分:0)
您实际上发布了两个变量。试试这个
Route::post('/download/{myFolder}/{myFile}', array('uses' => 'ImagesController@download', 'as' => 'download'));
并在您的控制器中
public function download($myFolder, $myFile){
return Response::download($myFolder.'/'.$myFile);
}