在浏览器中打开一个新选项卡,其中包含对ASP请求的响应

时间:2010-04-27 00:27:10

标签: http asp-classic jscript

这个有点复杂...让我说我有一个显示在用户浏览器中的PDF文件列表。每个文件名都是一个不指向文件的链接,而是一个ASP页面,比如说

<--a href="viewfile.asp?file=somefile.pdf">somefile.pdf</a>  

我希望viewfile.asp获取文件(我已经完成了这一点)但我希望浏览器加载该文件,就像用户直接打开PDF文件一样。我希望它在新的标签页或浏览器窗口中打开。

这里(简化) viewfile.asp

<%
var FileID   = Request.querystring ("file") ;
var ResponseBody = MyGETRequest (SomeURL + FileID) ;

if (MyHTTPResult == 200)
    { 
    if (ExtractFileExt (FileID).toLowerCase = "pdf")
        {
        ??????  // return file contents in new browser tab
        }        
....
%>

2 个答案:

答案 0 :(得分:2)

丹尼尔指出,您可以控制是在新窗口中打开而不是在新选项卡中打开。如果用户已经配置了他们的浏览器以便在新标签中打开新窗口(就像我一样),那么你就是金色的。如果没有,它将在新窗口中打开。你无法控制标签。

答案 1 :(得分:1)

我会这样做。

<a href="viewfile.asp?file=somefile.pdf" target="_blank">somefile.pdf</a>

这样就会在新窗口/标签页中打开。任何服务器端语言都无法控制浏览器。

要将其作为PDF提供,请致电

<% response.ContentType="application/pdf" %>