它们之间有什么区别
Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")
and
Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")
我不知道其中的区别,因为当我使用其中一个或另一个时,我总是得到一个窗口提示,要求我下载这两个文件。我看了说明书,但毫无头绪。
它们之间有什么区别
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中打开。
因为当我用一个或另一个 得到一个窗口提示,要求我 下载它们的文件。
此行为取决于浏览器和您试图提供的文件。使用内联,浏览器将尝试在浏览器内打开文件。
例如,如果您有一个PDF文件和Firefox/Adobe Reader,则内联处理将在Firefox中打开PDF,而附件将强制下载它。
如果您提供的是. zip文件,浏览器将无法内联显示它,因此对于内联和附件处置,将下载该文件。
如果它是内联的,浏览器应该尝试在浏览器窗口中呈现它。如果不能,它将求助于外部程序,提示用户。
对于附件,它将立即发送给用户,而不会尝试在浏览器中加载它,无论它是否可以。