将包含路径的参数传递给控制器
Passing a param containing a path to a controller
我试图传递一个变量,该变量包含从表单到控制器函数的路径 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);
}
当我点击提交时,我得到了一个 URL 这样的 NotFoundHttpException:
我不明白我错过了什么。
您实际上发布了两个变量。试试这个
Route::post('/download/{myFolder}/{myFile}', array('uses' => 'ImagesController@download', 'as' => 'download'));
并在您的控制器中
public function download($myFolder, $myFile){
return Response::download($myFolder.'/'.$myFile);
}
我试图传递一个变量,该变量包含从表单到控制器函数的路径 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);
}
当我点击提交时,我得到了一个 URL 这样的 NotFoundHttpException:
我不明白我错过了什么。
您实际上发布了两个变量。试试这个
Route::post('/download/{myFolder}/{myFile}', array('uses' => 'ImagesController@download', 'as' => 'download'));
并在您的控制器中
public function download($myFolder, $myFile){
return Response::download($myFolder.'/'.$myFile);
}