它们之间有什么区别

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

and

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

我不知道其中的区别,因为当我使用其中一个或另一个时,我总是得到一个窗口提示,要求我下载这两个文件。我看了说明书,但毫无头绪。


当前回答

值得一提的是,inline将尝试直接从服务器打开Office文档(xls, doc等),这可能会导致用户凭据提示。

请看这个链接:

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

有人试图通过ASP从SSRS交付Excel报告。Net ->用户总是被提示输入凭据。在提示符上点击取消后,它无论如何都会被打开……

如果内容配置被标记为附件,单击打开后,它将自动保存到临时文件夹,然后从本地副本在Excel中打开。

其他回答

值得一提的是,inline将尝试直接从服务器打开Office文档(xls, doc等),这可能会导致用户凭据提示。

请看这个链接:

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

有人试图通过ASP从SSRS交付Excel报告。Net ->用户总是被提示输入凭据。在提示符上点击取消后,它无论如何都会被打开……

如果内容配置被标记为附件,单击打开后,它将自动保存到临时文件夹,然后从本地副本在Excel中打开。

因为当我用一个或另一个 得到一个窗口提示,要求我 下载它们的文件。

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

例如,如果您有一个PDF文件和Firefox/Adobe Reader,则内联处理将在Firefox中打开PDF,而附件将强制下载它。

如果您提供的是. zip文件,浏览器将无法内联显示它,因此对于内联和附件处置,将下载该文件。

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

对于附件,它将立即发送给用户,而不会尝试在浏览器中加载它,无论它是否可以。