簡體   English   中英

如何創建觸發文件下載的鏈接?

[英]How to create a link that triggers file download?

當用戶單擊“下載PDF”鏈接時,我希望顯示下載提示,並且用戶可以下載該文件。

目前,用戶只是轉移到PDF文件的地址。

例如:

<a..[what goes here??]..>Download PDF</a>

似乎需要JavaScript和PHP的組合才能做到這一點。

誰能舉個例子?

使用此代碼重定向到PHP頁面:

<?php
header('Content-disposition: attachment; filename=movie.mpg');
header('Content-type: video/mpeg');
readfile('movie.mpg');
?>

您的<a href代碼需要指向特定頁面,readfile將調用您的資源

進一步閱讀

正如旁注,我同意你不應該覆蓋瀏覽器設置,但有時當老板問,你只需要做。

如果您使用的是Apache,可以將其放入.htaccess中:

<Files *.pdf>
  Header set Content-Disposition attachment
</Files>

這將發送所有PDF文檔作為下載。 必須啟用mod_headers

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等......),而不直接打開新的瀏覽器。

您可以通過向Web服務器響應添加HTTP標頭來強制瀏覽器保存鏈接的內容:

Content-Disposition: attachment; filename=<default filename to save as>

另一方面,我並沒有真正看到覆蓋用戶瀏覽器配置的重點,這通常會告訴我們默認情況下是否應在瀏覽器中打開PDF文檔,在單獨的PDF查看器中打開或保存到磁盤。

您可以在標簽上使用HTML5 download屬性。

<a href="http://love4cats.com/kitten-catalogue.pdf" download>Download the CATalogue</a>

您應該檢查分析並確保目標瀏覽器支持該屬性。 有關瀏覽器支持,請參閱caniuse.com條目頁面。

目前尚不清楚你的意思

目前,用戶只是轉移到PDF文件的地址。

但我建議一個簡單的方法:

<a href='http://example.com/download.pdf'>Download PDF</a>

下載打開文件的選擇更多是瀏覽器的設置。

我不相信你的問題有一個神奇的javascript / PHP解決方案,即vanilla HTML:

<a href="docco.pdf" title="this is a link to a pdf">download the PDF</a>

將執行所需的操作,它將指示瀏覽器請求資源“docco.pdf”,由瀏覽器(和任何插件)來做這件事。

例如,有一個firefox插件“ PDF下載 ”,它為用戶提供了如何處理彈出窗口的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM