.net响应文件 - 打开新选项卡

时间:2016-08-31 11:35:08

标签: javascript pdf response

我有一个处理程序(ashx),我想将一个文件发送到浏览器到新标签页。

我知道我可以使用JavaScript(当我使用JS时,浏览器显示阻止弹出窗口的消息 - 我想避免这个消息),但我想通过我的处理程序的响应来做到这一点。有什么办法吗?

我尝试了这个,但这是在同一个窗口中打开PDF

index.php

我从Ajax调用处理程序:

  context.Response.Clear();
  context.Response.ClearHeaders();
  context.Response.ContentType = "application/pdf";
  context.Response.BinaryWrite(buffer);

由于

1 个答案:

答案 0 :(得分:-1)

尝试window.open("ashx/GetFile.ashx");

作为旁注,是用户首选项是否要打开新选项卡而不是新窗口。见Open a URL in a new tab (and not a new window) using JavaScript

编辑:如果您的目的是避免弹出窗口阻止程序,则一般规则似乎是弹出窗口阻止程序仅在处理直接用户事件期间允许window.open()。您有几个选择:

  • Make your ajax call synchronous.
  • 在ajax回调期间向用户呈现模态或类似的页面元素,其中包含用于打开文档的链接或按钮,并在单击事件期间调用window.open()

文档:MDN - Window.open()