2009-09-08 103 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中。

相关问题