2010-05-27 59 views
2

我已经看到许多网站在现有HTML内容的页面上触发文件另存为对话框。他们如何做到这一点?在包含内容的页面上触发文件下载

我知道设置正确的标题,如内容处置等,但是当我做到这一点,页面内容不加载,并立即将文件下载时触发​​...

+0

的问题是有趣的,但如果你有兴趣,你可以用浏览器的“查看源文件”功能和提琴手的组合找到自己出来。 – 2010-05-27 17:15:37

回答

3

制作一个普通的HTML页面,然后添加一个META刷新,重定向到一个PHP脚本,该脚本使用Content-Disposition标题发送文件。

例如:

<meta http-equiv="refresh" content="2;url=download.php"> 
+0

所以,只是为了澄清,这将刷新页面,因此下载download.php文件,但离开页面被查看完整?如果是这样,很好的答案! – Kurucu 2010-05-27 18:44:37

+0

是的。会的。 – SLaks 2010-05-27 19:02:58

+0

此方法的问题(与使用iframe相反)是当从服务器发送文件的脚本遇到错误时发生的问题。如果它发送错误,它们将覆盖当前打开的页面,当从iframe请求时,错误消息将出现在该iframe中。 – Tom 2012-08-22 20:58:18

1

我知道很多人使用隐藏的iframe,iframe指向的页面实际上是文件下载。

虽然有更好的方法可以做到这一点,但我确定。

+0

是的iframe是我似乎找到的一种方法...但它不是广泛支持,就像在歌剧院...我想知道是否有任何其他技术。 – jeffreyveon 2010-05-27 17:24:00

+1

Slaks答案会起作用,并且可能是最好的方式。 :) – Joshua 2010-05-27 17:27:14

相关问题