У меня есть методы, которые возвращают base64 data image
на вид после создания GET
запросить www.website.com/preview/{id}
,
Это называется <a>
тег внутри view.blade.php:
<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>
Это хорошо работает, если я объявлю GET
маршрут с функцией кода внутри routes.php:
Route::get(Config::get("app.previewPath") . "/{id}", function(\Request $request, $encrypted){
// ... some code ...
$base64 = \App\Http\Classes\RepositoryUtil::retriveImage($encrypted);
@readfile($base64);
});
Но если я перемещу тот же код внутри метода контроллера, он вернет пустую страницу!
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);
}
Где я не прав?
Я понял, это была «ошибка отвлечения».
Я оставляю промежуточный слой включен во всех методах контроллера, и он не может печатать dd("Not authorized!");
без return
перед этим.
Ничего не вернуло без ошибок!
Я перерезал промежуточное ПО только для выбранных действий.
Спасибо за помощь.
Других решений пока нет …