0

路由文件 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,看起来它无法捕获路由。

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

4

1 回答 1

1

我找到了问题所在。

那是因为在该路线上方我有另一条路线称为:

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

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

它搞砸了,因为两条路线都有相同的开始并且参数搞砸了。

于 2018-07-25T23:11:30.677 回答