Просмотр pdf-файла из другого домена с помощью ng2-pdf-viewer (ошибка CORS) - PullRequest
0 голосов
/ 12 октября 2019

мои настройки следующие: у меня есть угловой интерфейс и 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');
});

К сожалению, это не работает :-(

...