我想知道如何使 PDF 文件链接可下载而不是在浏览器中打开它们?这是如何在 html 中完成的?(我假设它是通过 javascript 或其他方式完成的)。
(HTML) 单击时下载 PDF 文件而不是在浏览器中打开它们
IT技术
javascript
html
2021-01-12 05:57:48
6个回答
有了 html5,现在就可以了。在元素中设置“下载”属性。
<a href="http://link/to/file" download="FileName">Download it!</a>
来源:http : //updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download
这只能通过服务器端代码设置 http 响应头来实现。即;
Content-Disposition: attachment; filename=fname.ext
现在有HTML 5download
属性可以处理这个问题。
我同意,并认为萨里姆的回答很好(如果 OP 回归,它可能应该是选择的答案)。然而,这个答案仍然是处理它的可靠方法(正如 Yiğit Yener 的回答所指出的那样——奇怪的是——人们同意)。虽然下载属性获得了支持,但它仍然参差不齐:
您将需要使用 PHP 脚本(或其他服务器端语言)
<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');
?>
并使用 httacces 重定向(重写)到 PHP 文件而不是 pdf
您可以使用
Response.AddHeader("Content-disposition", "attachment; filename=" + Name);
看看这个例子:
http://www.codeproject.com/KB/aspnet/textfile.aspx
这适用于 ASP.NET。我相信您可以在所有其他服务器端语言中找到类似的解决方案。但是,据我所知,没有 javascript 解决方案。