HTML: принудительная загрузка PDF

У меня есть ссылка на файл PDF на моей странице.

Safari открывает файл PDF напрямую на сайте. Вместо этого я хотел бы загрузить его.

Я пытался добавить target = "_ blank" в элемент , но он не работает, если всплывающее окно ups отключены в настройках браузера.

Как я могу решить эту проблему?

благодаря

10
задан Adam Azad 1 January 2016 в 20:44
поделиться

3 ответа

Для этого необходимо изменить заголовки файлов .PDF.

Итак, в вашем .htaccess вам нужно сделать так:

AddType application/octet-stream .pdf
8
ответ дан 3 December 2019 в 21:19
поделиться

Вам потребуется динамически принудительно задавать заголовки вложений с помощью сценария на стороне сервера, такого как PHP. Вот пример использования PHP:

<?php
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="downloaded.pdf"');
readfile('original.pdf');
?>

Редактировать:

$file = $_GET['file']; 
readfile($file."pdf");  // Before doing this, check whather the user have permission to download that file.

вызвать ваш скрипт: download.php?file=document скачает document.pdf

1
ответ дан 3 December 2019 в 21:19
поделиться

Вам нужно установить HTTP-заголовок Content-Disposition на вложение для этого файла.

Content-Disposition: attachment; filename=test.pdf

В зависимости от используемого веб-сервера способ настройки может различаться. Другой вариант - иметь сценарий на стороне сервера, который будет передавать pdf и устанавливать этот заголовок.

8
ответ дан 3 December 2019 в 21:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: