【问题标题】:Content-Disposition:What are the differences between "inline" and "attachment"?Content-Disposition:“内联”和“附件”有什么区别?
【发布时间】:2010-11-26 13:54:38
【问题描述】:

两者有什么区别

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

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

我不知道它们的区别,因为当我使用一个或另一个时,我总是会收到一个窗口提示,要求我下载它们的文件。我读了规格,但它一无所知。

【问题讨论】:

  • 当处置类型为内联时,它通常没有文件名。
  • 仅供参考:文件名仍然可以使用 inline 设置,但它不是标准的。 Chrome、Firefox、IE 和 Opera 尊重文件名,但 Edge 不尊重文件名(2018 年)。
  • 有没有人知道一种资源,用于显示各种浏览器对内容类型的作用,类似于 css 的 caniuse?
  • 你只是在检查你的性格是什么性格?

标签: asp.net http-headers


【解决方案1】:

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

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

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

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

【讨论】:

  • 快速修正:这种行为有时与移动环境不同。如果可以正确识别内容类型,许多应用程序 webview 将忽略附件处理并简单地将其呈现在浏览器中。
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    值得一提的是,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 报告 -> 总是提示用户输入凭据。在提示上单击取消后,无论如何都会打开它...

    如果 Content Disposition 被标记为 Attachment,点击打开后会自动保存到 temp 文件夹,然后在 Excel 中从本地副本打开。

    【讨论】:

      猜你喜欢
      • 2016-12-18
      • 1970-01-01
      • 2013-10-21
      • 1970-01-01
      相关资源
      最近更新 更多