[英]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.