Laravel 空页面,调用路由方法没有错误

Laravel empty page with no error calling route's method

我有一个方法可以在向 www.website.com/preview/{id} 发出 GET 请求后 return base64 data image 查看视图。

它由 view.blade.php 中的 <a> 标记调用:

<a class="image-popup-vertical-fit" href="{{url(Config::get("app.previewPath") , $encrypted)}}" >
    <img class="issue_img" src="{{App\Http\Classes\RepositoryUtil::getSmallImage($encrypted)}}" alt="{{ $name }}">
</a> 

如果我在 routes.php:

中声明一个带有代码函数的 GET 路由,它会很好地工作
Route::get(Config::get("app.previewPath") . "/{id}", function(\Request $request, $encrypted){
        // ... some code ...
        $base64 = \App\Http\Classes\RepositoryUtil::retriveImage($encrypted);
        @readfile($base64);
});

但是如果我将相同的代码移到控制器的方法中,它 return 一个空白页!

Route::get(Config::get("app.previewPath") . "/{id}", "MyController@getPreview");

MyController.php

public static function getPreview(\Request $request, $encrypted){
    // ... same code as routes.php ...
    $base64 = \App\Http\Classes\RepositoryUtil::retriveImage($encrypted);
    @readfile($base64);
}

我哪里错了?

我想出来了,那是 "distraction error"。

我在控制器的所有方法中启用了 中间件,它无法打印 dd("Not authorized!"); 之前没有 return

它没有return没有任何错误!

我将中间件限制为只用于选定的操作。

感谢支持。