2011-07-15 101 views
1

我有一個存儲在服務器上的HTML文檔(作爲Google協作平臺網站上的附件),並在我的網頁上有一個鏈接。當我點擊鏈接時,它會下載文檔,而不是在瀏覽器中打開它。有誰知道設置它的方式,所以它會在瀏覽器中打開而不是下載它?這是一個谷歌網站的網站,所以我有點侷限於基本的HTML代碼... 任何想法將不勝感激! Thanx!通過以下鏈接將HTML文檔作爲網頁打開

回答

1

你必須操縱HTTP標頭來做到這一點。所以,如果不下載文件並重新發送標題,您可能不會這樣做。

0

HTML,圖像,音頻是(當由瀏覽器請求時)由服務器告知它是什麼類型的文件。服務器被配置爲識別文件的類型,並將該結果返回給決定如何處理該結果的瀏覽器(例如,下載,顯示等)。如果結果不被認可,大多數瀏覽器會提供下載文件的選項。

您可以使用內容處置頭(google一下),它告訴瀏覽器如何處理文件(內嵌在瀏覽器中,附件下載)

當瀏覽器請求的文件(超文本,圖像,音頻,多媒體等),服務器告訴瀏覽器它是什麼類型的文件。服務器應配置爲正確識別文檔的媒體類型。像header("Content-Disposition: attachment; filename=filename.html");(這是PHP,谷歌你自己的語言),這帶來了一些安全隱患(見RFC

大多數瀏覽器將工作,但這個內容處置選項。你可以做的也是「application/octet-stream」。這對瀏覽器說了些什麼:「我是一個沒有擴展名的文件」,因此瀏覽器決定在大多數情況下下載文件。類似於:

<meta http-equiv="content-type","application/octet-stream"> 
<meta http-equiv="content-disposition","attachment; filename=filename.html"> 

這已知不總是在IE中工作。

最好的解決方案是創建一個自定義的Mime類型並在您的服務器設置中定義它。像這樣的東西可以在IIS或Apache中完成。

長話短說,但我希望它能幫助你。

+0

感謝這有點幫助,雖然谷歌網站不會讓我添加meta標籤,所以我仍然需要一個解決方法。 – Cam