2010-05-27 62 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

相關問題