2010-09-28 3 views
0

Одно из приложений, которое я кодировал, давал возможность скачивать каждый раз, когда я нажимаю на файл pdf. Теперь он открывается в браузере. Я не изменил никакого кода. Как я могу сделать это, чтобы он позволял загружать и не открывать в браузере?PDF-файлы, открывающиеся в браузере

ответ

1

Я могу придумать два способа сделать это: вы можете либо просто ZIP-файлы PDF, которые затем принудительно загрузили, либо вы могли бы написать сценарий, который будет служить запрошенным файлам в качестве загружаемых вложений. Не уверен, что язык ваше приложение написано в, но в PHP вы могли бы сделать это следующим образом:

download.php

<?php 
if (isset($_GET['file'])) { 
    $file = $_GET['file']; 
     if (file_exists($file) && is_readable($file) && preg_match('/\.pdf$/',$file)) { 
      header('Content-type: application/pdf'); 
      header("Content-Disposition: attachment; filename=\"$file\""); 
      readfile($file); 
     } 
    } else { 
    header("HTTP/1.0 404 Not Found"); 
    echo "<h1>Error 404: File Not Found: <br /><em>$file</em></h1>"; 
} 
?> 

, а затем вы ссылки на ваши файлы в формате PDF, как:

<a href="download.php?file=my_pdf_file.pdf">Download the cool PDF.</a> 

Найдено по this forum post.

Надеюсь, это поможет.

0

У браузеров есть плагины, которые могут открывать ваши pdf-файлы в самих браузерах, когда у вас нет этих плагинов, которые они загружают. Один из способов, которым вы все еще можете добиться этого, - это при отправке файла для загрузки, не сообщите браузеру тип Mime ответа, поэтому этот плагин не знает, что есть файл PDF для открытия, и он все равно позволит загрузить его.

попробуйте отправить следующий заголовок Content-Disposition: attachment; имя файла = genome.pdf; change-date = "Wed, 12 February 1997 16:29:51 -0500";

Смежные вопросы