如何强制PDF到初学者下载[复制](How to force PDF to download beg

2019-06-27 02:48发布

可能重复:
如何自动强制PDF下载?

我检查了其他论坛,但我不明白他们在说什么。 我检查这个链接,人们似乎得到了解决方案:

http://css-tricks.com/snippets/htaccess/force-files-to-download-not-open-in-browser/

我想要做的这是用于下载PDF做一个按钮,该文件是太大,在网上​​看到它。 所以我想这个按钮强制浏览器下载文件。 问或不问用户。 会有不同的PDF文件名,所以我需要与各种PDF文件格式PDF此按钮下载。

我检查了不同的网,似乎它可以使用htaccess的做,但我真的不知道该怎样做到这一点的线索。 有人可以帮告诉我我怎么可以这样!?!?! 有没有通过CSS / HTML简单的方式?

我已经坚持了很久,而对于这样一个小细节。

我的代码很简单:

<div class="Container for icons">
<a href="hugefile.pdf" alt=""><img href="icon.png" alt=""/>
</div>

可能有人给我的手在这一个?

Answer 1:

你需要修改返回给客户端的HTTP标头,以实现这一点:

  • 力来打开“另存为...”,在弹出的文本链接点击打开HTML格式PDF格式

下面是一个PHP代码示例:

$path = "path/to/file.pdf";
$filename = "file.pdf";
header('Content-Transfer-Encoding: binary');  // For Gecko browsers mainly
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');
header('Accept-Ranges: bytes');  // For download resume
header('Content-Length: ' . filesize($path));  // File size
header('Content-Encoding: none');
header('Content-Type: application/pdf');  // Change this mime type if the file is not PDF
header('Content-Disposition: attachment; filename=' . $filename);  // Make the browser display the Save As dialog
readfile($path);  //this is necessary in order to get it to actually download the file, otherwise it will be 0Kb


Answer 2:

取而代之的AddType你可以尝试ForceType

<FilesMatch "\.(pdf)$">
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</FilesMatch>


文章来源: How to force PDF to download beginner [duplicate]