HTML: принудительная загрузка PDF - PullRequest
10 голосов
/ 29 августа 2010

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

Safari открывает PDF-файл прямо на веб-сайте. Я хотел бы скачать его вместо.

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

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

спасибо

Ответы [ 3 ]

8 голосов
/ 29 августа 2010

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

Content-Disposition: attachment; filename=test.pdf

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

8 голосов
/ 29 августа 2010

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

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

AddType application/octet-stream .pdf
1 голос
/ 29 августа 2010

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

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

Edit:

$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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...