HTML: force PDF скачать

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

Safari открывает файл pdf непосредственно на веб-сайте. Я бы хотел его загрузить.

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

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

спасибо

Ответ 1

Чтобы сделать так, вам нужно изменить заголовки для файлов .PDF.

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

AddType application/octet-stream .pdf

Ответ 2

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

Content-Disposition: attachment; filename=test.pdf

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

Ответ 3

Вам нужно будет динамически добавлять заголовки атташе, используя серверную часть script, такую ​​как 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.

вызовите script: download.php?file=document будет загружен document.pdf