2009-09-08 136 views
206

什麼是我不知道的差異內容處理:「內聯」和「附件」之間有什麼區別?

Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext") 

Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext") 

之間的差別,因爲當我使用一個或另一個,我總是得到一個窗口提示,詢問我下載的文件兩個都。我閱讀規格,但它是無知的。

+1

當處理類型是內聯時,它通常沒有文件名。 – 2013-03-21 11:03:32

回答

251

因爲當我使用一個或另一個我 得到一個窗口提示,詢問我 下載對他們倆的文件。

此行爲取決於瀏覽器和您嘗試提供的文件。使用內聯,瀏覽器將嘗試在瀏覽器中打開文件。例如,如果您有PDF文件和Firefox/Adob​​e Reader,則內聯處置會在Firefox中打開PDF,而附件會強制它下載。

如果您正在提供.ZIP文件,瀏覽器將無法以內聯方式顯示它,因此對於內聯和附件處置,該文件將被下載。

+0

@ jimyi,謝謝。你的回答非常全面。 – Cleiton 2009-09-08 17:29:23

+3

快速更正:此行爲有時與移動環境有所不同。如果許多應用程序的WebView可以正確識別內容類型,它將忽略附件處置並簡單地在瀏覽器中呈現它。 – mixdev 2013-10-09 15:55:59

27

如果是內聯,瀏覽器應該嘗試在瀏覽器窗口內呈現它。如果不行,它會訴諸外部程序,提示用戶。

有了附件,它會立即轉到用戶,而不是嘗試將其加載到瀏覽器中,無論是否可以。

8

也可能值得一提的是,內聯將嘗試直接從服務器打開Office文檔(xls,doc等),這可能會導致用戶憑據提示。

看到此鏈接:

http://forums.asp.net/t/1885657.aspx/1?Access+the+SSRS+Report+in+excel+format+on+server

有人試圖通過ASP.Net提供從SSRS Excel報表 - >用戶總是得到提示輸入憑據。點擊取消提示後,它將被打開...

如果內容處理標記爲附件,它將自動保存到臨時文件夾中單擊打開後,然後從本地副本打開Excel中。

相關問題