0

这有点复杂......假设我在用户的浏览器中显示了一个 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
        }        
....
%>
4

2 回答 2

2

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

于 2010-04-27T00:46:21.153 回答
1

我会这样做。

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

这样,这将在新窗口/选项卡中打开。任何服务器端语言都无法控制浏览器。

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

<% response.ContentType="application/pdf" %>
于 2010-04-27T00:38:13.863 回答