【发布时间】:2015-04-17 17:37:51
【问题描述】:
我尝试使用字节数组中的 Javascript 在网络浏览器中显示(或下载)一个 .pdf。我从这篇文章构建了我的代码:
http://stackoverflow.com/questions/20401006/show-a-pdf-stream-in-a-new-window
我收到此错误:
ERROR Request URL Too Long HTTP Error 414. The request URL is too long.
我的代码使用 $ajax 调用 VB WebMethod 并接收 base64String (.pdf)。 .pdf 由 SSRS 报表服务器生成。
VB
Public Function testPDF(data As String) As String
Try
Dim strReportUser As String = Bidon.utilisateur
Dim strReportUserPW As String = Bidon.motDePasse
Dim strReportUserDomain As String = Bidon.domaine
Dim sTargetURL As String = "an URL" + data
Dim req As HttpWebRequest = WebRequest.Create(sTargetURL)
req.PreAuthenticate = True
req.Credentials = New System.Net.NetworkCredential(strReportUser, strReportUserPW, strReportUserDomain)
Dim HttpWResp As HttpWebResponse = req.GetResponse()
Dim fStream As Stream = HttpWResp.GetResponseStream()
Dim fileBytes As Byte() = ReadFully(fStream)
Return System.Convert.ToBase64String(fileBytes)
Catch ex As Exception
Console.WriteLine(System.Reflection.MethodBase.GetCurrentMethod().Name + "[exception : " + ex.ToString() + "]")
End Try
Return Nothing
End Function
Public Function ReadFully(input As Stream) As Byte()
Using MemoryStream As New MemoryStream()
input.CopyTo(MemoryStream)
Return MemoryStream.ToArray()
End Using
End Function
JS
success: function (reponse) {
var pdfwin = window.open(escape(reponse.d),"Titre","");
}
【问题讨论】:
标签: javascript vb.net html pdf bytearray