点击链接可下载文件。
在客户端的机器上:
1) 在某些系统上; IE 或 Firefox 有插件可以在浏览器中显示 PDF;单击链接。
2)在某些系统上,IE没有插件;所以当我们点击链接时;一个新的选项卡闪烁一秒钟,然后使用保存/另存为打开等选项对话框下载文件。
以下是链接打开的方式;这样页面的状态应该被保留:
<a href="http://www.gasl.org/refbib/Bible_King_James_Version.pdf" target="_blank">Holy Bible</a>
现在要求:
查询 1:客户不想从浏览器中删除插件并希望通过对话框下载文件。可能吗?
查询 2(重要): 我们可以下载文件吗?这样新选项卡就不会闪烁并且文件会被下载?
更新: 无法删除目标属性,就好像我会删除它一样,如果浏览器中仍然存在插件,那么页面状态将根本不会保留。
最佳答案
PHP:
在您的链接中,将 href 设置为“download.php?file=file.pdf 或数据库中的任何 ID,或者只是文件名,等等。 创建一个 download.php 文件:
$path = path/of/the/file/;
$filename = $_GET['file'];
header('Content-Transfer-Encoding: binary');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');
header('Accept-Ranges: bytes');
header('Content-Length: ' . filesize($path));
header('Content-Encoding: none');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=' . $filename);
readfile($path);
关于javascript - HTML/JQuery : How to open a file; without flashing new tab; and retaining current page state?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34283190/