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没有任何错误!
我将中间件限制为只用于选定的操作。
感谢支持。
我有一个方法可以在向 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没有任何错误!
我将中间件限制为只用于选定的操作。
感谢支持。