二进制使用ASP.NET写入新的选项卡/窗口

2 vb.net asp.net response contenttype visual-studio-2012

我正在使用VB.NET将pdf文件直接写入浏览器,立即打开它替换当前窗口中的内容.我想要做的是设置一个参数,它将在新的选项卡/窗口中导致binarywrite.

' Set the appropriate ContentType.
Response.ContentType = "Application/pdf"

' Write file directly to browser.
Response.BinaryWrite(binaryData)
Response.End()
Run Code Online (Sandbox Code Playgroud)

我必须设置一些能够在新窗口中编写二进制PDF的东西.像Response.Target ="_ blank"?????

Jac*_*ack 6

首先,创建一个名为"PDF.aspx"的附加页面或任何您想要的页面.

其次,在您的页面中,将"binarydata"变量存储在会话中.

Session("binaryData") = binarydata
Run Code Online (Sandbox Code Playgroud)

并告诉它去你的新页面.

Response.Redirect("PDF.aspx")
Run Code Online (Sandbox Code Playgroud)

第三,转到页面后面的PDF.aspx代码,并输入以下内容:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles       Me.Load
    Try
         Response.ContentType = "Application/pdf"
         Response.BinaryWrite(Session("binaryData"))
         Response.End()
    Catch ex As Exception
        Throw ex
    End Try
End Sub
Run Code Online (Sandbox Code Playgroud)

这应该产生你想要的结果.:)

  • @MikeR.PDF.aspx应该是一个通用的处理程序(PDF.ashx),因为您不需要整个页面的开销. (3认同)