當用戶單擊「下載PDF」鏈接,謹供下載提示,顯示爲用戶能夠下載該文件。如何創建一個觸發文件下載的鏈接?
目前,用戶只是轉移到PDF文件的地址。
例如:
<a..[what goes here??]..>Download PDF</a>
似乎有JavaScript的& PHP這樣做需要的組合。
誰能舉個例子?
當用戶單擊「下載PDF」鏈接,謹供下載提示,顯示爲用戶能夠下載該文件。如何創建一個觸發文件下載的鏈接?
目前,用戶只是轉移到PDF文件的地址。
例如:
<a..[what goes here??]..>Download PDF</a>
似乎有JavaScript的& PHP這樣做需要的組合。
誰能舉個例子?
如果你在Apache,你可以將這個到你的.htaccess:
<Files *.pdf>
Header set Content-Disposition attachment
</Files>
這將發送所有PDF文檔的下載。mod_headers必須啓用。
目前尚不清楚你的意思是由
目前,用戶只是轉移到PDF文件的地址。
但我認爲一個簡單的方法:
<a href='http://example.com/download.pdf'>Download PDF</a>
的選擇下載或開放文件更多的是瀏覽器的設置。
您可以強制瀏覽器通過添加HTTP頭到Web服務器響應鏈接的內容保存:
Content-Disposition: attachment; filename=<default filename to save as>
在另一邊,我真的不明白這一點在覆蓋用戶的瀏覽器配置,這通常會告訴如果PDF文件應每默認在瀏覽器中打開,在一個單獨的PDF查看器中打開或保存到磁盤。
雖然我同意,一般來說,用戶的偏好應該得到尊重,但我可以想到至少有一種情況應該鼓勵他們下載文件,而不是在瀏覽器中查看它:他們可能應該保存一份副本,如在線保險單或類似文件。 – 2010-08-02 13:06:02
我不相信這是一個神奇的JavaScript/PHP解決您的問題,香草HTML:
<a href="docco.pdf" title="this is a link to a pdf">download the PDF</a>
會做需要什麼,它會直接在瀏覽器請求的資源「docco。 pdf「,這取決於瀏覽器(和任何插件)對此做些什麼。
例如,有一個Firefox插件「PDF download」,它提供了用戶如何處理一個彈出做的選擇。
重定向到與此代碼PHP頁面上:
<?php
header('Content-disposition: attachment; filename=movie.mpg');
header('Content-type: video/mpeg');
readfile('movie.mpg');
?>
您<a href
代碼將需要指向一個特定的頁面,ReadFile的會打電話給你的資源
剛作爲一個側面說明,我不同意,你不應該重寫瀏覽器的設置,但有時當老闆問,你只需要做。
您可以在標籤上使用HTML5 download
屬性。
<a href="http://love4cats.com/kitten-catalogue.pdf" download>Download the CATalogue</a>
您應該檢查您的分析並確保您的目標瀏覽器支持該屬性。瀏覽器支持請參閱caniuse.com entry頁面。
You can also use the following code:
<?php
$file = filter_input(INPUT_GET, 'file');
$filename = basename($file);
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=\"{$filename}\";");
readfile("your file path {$file}");
?>
這將促使任何文件擴展名,如(.PDF,.DOCX,.ZIP,.CSV,.TXT和.html,.php然後...等),而不直接打開進入新的瀏覽器。
這就是我正在尋找的,謝謝! – edt 2009-10-03 15:47:39
不客氣。 :) – middus 2009-10-04 11:26:05
還有一個'download'屬性。 (不確定哪些瀏覽器支持此功能,但可以添加它。) – Darkwater 2012-10-05 18:37:35