мои настройки следующие: у меня есть угловой интерфейс и Laravel Backend. В Angular Frontend я использую ng2-pdf-viewer. (на данный момент localhost, в будущем несколько доменов, которые получают доступ ко всем API)
Когда я пытаюсь показать PDF из URL-адреса API, я получаю сообщение об ошибке CORS:
Доступ к выборке в 'https://differentURL/storage/foo/bar.pdf' из источника' http://localhost:4200' был заблокирован политикой CORS: в запрошенном ресурсе отсутствует заголовок «Access-Control-Allow-Origin». Если непрозрачный ответ удовлетворяет вашим потребностям, установите режим запроса 'no-cors', чтобы получить ресурс с отключенным CORS.
Я уже внедрил промежуточное программное обеспечение в laravel для решения этой проблемы, но безуспешно,Это выглядит так:
public function handle($request, Closure $next)
{
return $next($request)
->header('Access-Control-Allow-Origin', '*')
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, X-Token-Auth, Accept, Authorization')
->header('Access-Control-Allow-Credentials', true);
}
В "Kernel.php" я добавил это:
protected $middleware = [
\App\Http\Middleware\Cors::class,
]
protected $routeMiddleware = [
'cors' => \App\Http\Middleware\Cors::class,
]
, а "api.php" выглядит так:
Route::group(['middleware' => ['cors', 'jwt.verify']], function() {
Route::get('getPDF', 'FileController@getPDF');
});
К сожалению, это не работает :-(