【问题标题】:content-disposition header being sent twice....once by code the other unknowncontent-disposition 标头被发送两次....一次通过代码发送另一个未知
【发布时间】:2011-12-29 17:40:38
【问题描述】:

我有一个 .aspx 页面,我在其中手动设置标题以强制下载 pdf 文件。它在 IE 中运行良好,但在 chrome 和 firefox 8.0 中,它给出了一个错误。

我终于找到了问题的根源,即 content-disposition 标头被发送了两次,但我不知道第一次设置的方式或原因。

标题的第一个实例只是: 内容配置:附件 第二个是: 内容处置:附件; filename=download.pdf

IIS 是否以某种方式接管并添加第一个标头实例?如果是这样,我怎样才能将其切换为不这样做?

编辑:添加设置标题的代码

Response.ContentType = "application/pdf";
                Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
                Response.WriteFile(fname);
                Response.Flush();
                Response.End();

【问题讨论】:

  • 你能发布你知道设置其中之一的代码吗?另外,你确定它没有被执行两次吗?
  • 添加了设置标题的代码......我很肯定它不会被执行两次。
  • 大胆猜测:如果不设置类型,检查会发生什么。不相关:您的代码会对包含空格、非 ASCII 等的文件名执行错误操作...请参阅 RFC 6266。
  • 删除了类型声明...没有变化。
  • 你是在本地运行吗?如果是这样,您是否有任何自定义 HttpModules 可以添加它?这是一个奇怪的想法,但这是一个奇怪的问题。

标签: .net iis http-headers content-disposition


【解决方案1】:

【讨论】:

  • 就是这样。现在需要从业务中找出为什么会这样设置。非常感谢。
猜你喜欢
  • 1970-01-01
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-01-10
  • 1970-01-01
  • 2022-06-10
相关资源
最近更新 更多