2011-05-05 72 views
2

我支持網站Intranet上的客戶端「打開文件基礎上的內容,而不是文件擴展名」。該網站包含指向xml文件的鏈接。這些XML文件具有唯一的擴展名,並打算由特定應用程序打開。使用IE 8,我們可以通過在Internet選項 - >安全 - >自定義級別設置選項'基於內容打開文件,而不是文件擴展名'來支持這一點。在IE 9中,該選項已被刪除。現在這些文件打開一個新標籤並顯示xml。在IE 9

理想情況下,我想該文件只是通過下載管理器下載,但在客戶端計算機上的應用程序打開文件是可以接受的爲好。在IE 9中這樣做的最好方法是什麼?有沒有我應該調整的設置?服務器端,我試着調整MIME類型,但似乎如果我把它發送到未知的東西(例如application/octet-stream)IE確定的內容。我能想到的最後一個選項是調整鏈接,以便它們調用一個將xml內容加載到響應對象中的asp.net頁面,但將標題更改爲包含Content-Disposition:"attachment;filename=file.ext」

上解決這個問題的最好方法有什麼建議?

回答

4

Content-Disposition:attachment是你在找什麼,是的。這就是您如何指示瀏覽器單獨下載文件,而不是嘗試顯示它。

你可以使用路由或重寫,讓您的文件URL,但有一個ASHX處理的文件,以便它可以設置標題。 (不使用ASPX,它比你更需要的只是設置一些頭)

2

我覺得周圍的工作,我一直在尋找的是,「基於內容打開文件,而不是文件擴展名」選項事實在IE8中重新命名爲'啓用MIME嗅探'。但安德魯·巴伯的回答是正確的解決方案。

+0

這是正確的。 – EricLaw 2011-05-12 01:08:49