路由文件web.hp:
Route::get('/download/received/{image_id}/{isoriginal?}', 'DownloadController@download_recv_image');
视图:
<li><a href="{{action('DownloadController@download_recv_image', [$image->id, true])}}">Download {{strtoupper($image->extension)}}</a></li>
<li><a href="{{action('DownloadController@download_recv_image', $image->id)}}">Download PNG</a></li>
控制器中的功能:
public function download_recv_image($image_id, $original=false){...}
这是用于下载接收到的图像的功能。当我点击视图中的第一个链接时,就会调用路由并执行函数。但在第二个链接上,我没有发送第二个参数,然后它返回错误404,看起来它无法赶上路线。
(我有另一个下载用户图像的功能,在另外两个链接中使用相同的路线定义逻辑,一切都正常。(
我已经找到了问题所在。
这是因为在这条路线之上,我有另一条路线叫:
Route::get('download/{image_id}/{isoriginal?}', 'DownloadController@download_user_image');
我已将第二条路由更改为/record/download,而不是/record/received
这很混乱,因为两条路线的起点相同,参数也很混乱。