第一条链接上的相同路由有效,但第二条无效。 Laravel 5.6

时间:2018-07-25 22:45:46

标签: laravel routes laravel-5.6 laravel-controller

路由文件web.php:

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,并且看起来无法捕获路由。

(我还有另一个下载用户图像的功能,在另外两个链接中具有相同的逻辑来定义路由,并且一切正常。)

1 个答案:

答案 0 :(得分:1)

我找到了问题所在。

那是因为在那条路线的上方,我还有另一条路线:

Route::get('download/{image_id}/{isoriginal?}', 'DownloadController@download_user_image');

我将第二条路线更改为/ received / download,而不是/ download / received

这很麻烦,因为两条路线的起点和参数都错了。