2010-09-28 110 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文件打開,仍然會讓你下載它。

嘗試發送以下標題 內容處置:附件;文件名= genome.pdf; modification-date =「1997年2月12日星期三16:29:51 -0500」;