html - Firefox 自动弹出另存为窗口

标签 html popup

我一直在使用这个代码 <a href="FILEPATH">download PDF</a>直接下载 pdf 链接,但此代码仅适用于 Google Chrome

谁能帮助我在 Mozilla Firefox 和 IE8 中也能正常工作。因为当我尝试在 Mozilla Firefox 中对其进行测试时,它会打开链接但不会弹出“另存为”窗口。

最佳答案

我会使用 PHP header ,因此使用类似这样的 url 来引用文件:

 <a href="/download.php?file=myFile.pdf">download PDF</a>

然后使用php传递文件:

 <?php
 /* put some validation and injection protection here */
 $approvedFiles = ["myFile.pdf","myOtherFile.pdf"];

 if (!in_array($_GET['file'],$approvedFiles)){
  header("HTTP/1.1 404 Not Found"); 
  die();
 }

 //otherwise
 header('Content-type: application/pdf');
 header('Content-Disposition: attachment; filename="myFile.pdf"');
 readfile('myFile.pdf'); 

注意:伪代码并不完美:)

引用:http://php.net/manual/en/function.header.php

关于html - Firefox 自动弹出另存为窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18565352/

相关文章:

javascript - jQuery 只弹出一次

jquery - 当用户点击弹出窗口外部时,阻止 JQuery Mobile 关闭弹出窗口

javascript - 使用javascript打印图像

php - 无法通过 php、HTML 删除行

android - 如何在 Android 中创建完全自定义的 Dialogue/Popup(更改覆盖颜色和对话窗口布局)

javascript - 检测弹出窗口何时关闭

html - 为什么字体大小会影响我的 <li> 元素的高度?

html - 如何从 Select 标签上的 IE11/Edge 中删除默认边框半径

html - FlexBox CSS 和对齐方式

html - 有没有办法在 HTML5、CSS3 和 Jquery 上执行此动画?