内容处理:“内联”和“附件”有什么区别?

时间:2009-09-08 17:13:17

标签: asp.net http-headers

之间有什么区别
Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")

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

我不知道这些差异,因为当我使用其中一个或另一个时,我总会得到一个窗口提示,要求我为它们下载文件。我阅读了规格,但它毫无头绪。

3 个答案:

答案 0 :(得分:274)

  

因为当我使用一个或另一个时我   得到一个窗口提示问我   下载这两个文件。

此行为取决于您尝试提供的浏览器和文件。使用内联,浏览器将尝试在浏览器中打开文件。

例如,如果你有一个PDF文件和Firefox / Adob​​e Reader,内联处置将在Firefox中打开PDF,而附件将强制它下载。

如果您正在提供.ZIP文件,浏览器将无法以内联方式显示它,因此对于内联和附件处置,将下载该文件。

答案 1 :(得分:29)

如果它是内联的,浏览器应该尝试在浏览器窗口中呈现它。如果不能,则会使用外部程序,提示用户。

使用附件,它会立即转到用户,而不是尝试在浏览器中加载它,无论它是否可以。

答案 2 :(得分:9)

也许值得一提的是,inline将尝试直接从服务器打开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中打开。