在另一个浏览器页面/选项卡中打开文件

时间:2010-03-22 16:57:07

标签: asp.net html asp.net-mvc browser

我有一个返回文件内容的操作。我补充说:

Response.AddHeader("Content-Disposition", "attactment; filename:\"" + survey.File + "\"");

以便在另一个标签/页面中打开图像,在当前标签/页面中打开。 什么标题错了?

2 个答案:

答案 0 :(得分:1)

content-disposition header指示用户代理如何呈现数据,并且通常在提供二进制数据时使用(而不是纯文本)。当设置为“附件”时,内容的显示取决于用户的进一步动作。换句话说,用户应该收到提示,并且必须决定如何处理内容(通常给出“打开”或“保存”选项)。

您无法以编程方式强制在新标签页中打开超链接。即使你可以,你也不应该。此行为应由用户代理控制。作为用户,当我想在新选项卡中打开某些内容时,我会使用鼠标滚轮单击,因为这是我的浏览器的配置方式。

答案 1 :(得分:0)

您无法使用HTTP标头控制浏览器的标签行为 - 您的代码中没有任何内容会影响此标题。

更改指向下载的HTML代码可能对您有所帮助 - 如果您使用 标记,则可以将目标属性设置为 _tab _blank ,它可以在许多浏览器中使用。