Браузер пытается отобразить PDF-файл вместо его скачивания, потому что настройки заголовков HTTP-ответа указывают на то, что браузер должен открывать содержимое файла непосредственно в окне браузера.
Чтобы заставить браузер загружать файл PDF вместо отображения его в браузере, необходимо убедиться, что сервер отправляет правильные заголовки в ответе HTTP. Для этого можно установить заголовок Content-Disposition
со значением attachment
, указывающим браузеру загружать файл как вложение, а не пытаться открыть его в окне браузера.
Пример использования заголовка Content-Disposition
в PHP:
<?php $file = 'path/to/your/file.pdf'; header('Content-Description: File Transfer'); header('Content-Type: application/pdf'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Content-Length: ' . filesize($file)); readfile($file); ?>
После установки правильных заголовков сервер будет отправлять файл PDF с указанием на его скачивание, а не на отображение в браузере.