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

Cle*_*ton 235 asp.net http-headers

有什么区别

Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")
Run Code Online (Sandbox Code Playgroud)

Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")
Run Code Online (Sandbox Code Playgroud)

我不知道这些差异,因为当我使用一个或另一个时,我总会得到一个窗口提示,要求我为它们下载文件.我阅读了规格,但它是无能为力的.

jim*_*myi 281

因为当我使用一个或另一个时,我得到一个窗口提示,要求我下载这两个文件.

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

例如,如果您有PDF文件和Firefox/Adob​​e Reader,则内联处置将在Firefox中打开PDF,而附件将强制下载.

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

  • 快速更正:此行为有时与移动环境不同.许多应用程序Web视图将忽略附件处置,只需在浏览器中呈现它就可以正确识别内容类型. (5认同)

小智 29

如果它是内联的,浏览器应该尝试在浏览器窗口中呈现它.如果不能,它将诉诸外部程序,提示用户.

使用附件时,它会立即发送给用户,而不是尝试将其加载到浏览器中,无论是否可以.


小智 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中打开.