是否可以通过以下方式添加2个不同的Content-Disposition标头

时间:2016-04-12 15:04:47

标签: c# content-disposition response.addheader

 oResponse.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(fileName_DBText, Encoding.UTF8).Replace("+", "%20"));
 oResponse.AddHeader("Content-Disposition", "inline=" + HttpUtility.UrlEncode(fileName_DBText, Encoding.UTF8).Replace("+", "%20"));

上述问题仅导致Chrome出现问题。在IE或Firefox中没有问题。 删除第二个AddHeader(添加内联指令),解决了这个问题。 我的印象是,添加两者都很好,浏览器可以解决该怎么做。 有人对此有明确的答案吗?

2 个答案:

答案 0 :(得分:2)

a)不,你不能有多个。

b)第二个语法无效; “inline”不带参数。

c)“内联”和“依恋”是矛盾的;你想要实现什么目标?

(规范是RFC 6266,顺便说一句)

答案 1 :(得分:0)

解决方案非常简单: 只需删除以下代码行 -

oResponse.AddHeader("Content-Disposition", "inline=" + HttpUtility.UrlEncode(fileName_DBText, Encoding.UTF8).Replace("+", "%20"));

正如@Julian Reschike所说,你不能拥有多个内容处置标题,我不知道。在任何情况下,上述行的语法都不正确,因为我有它。 删除了行,一切都恢复原状。