从asp.net将二进制文件写入android浏览器
我正试图通过我正在工作的网站来传输PDF文件。我在下面列出的过程在iPhone和桌面浏览器上运行良好,但由于某些原因,它在Android设备上不起作用。它开始下载,但随后无限期地显示“下载中”。如果我将PDF文件放在网站的文件路径中,并键入PDF文件的URL,下载效果会非常好。然而,在我们的例子中,我们无法通过URL获得PDF文件。我在网上找到了其他答案,但没有一个能解决我的问题。有什么想法吗 这是我目前掌握的代码:从asp.net将二进制文件写入android浏览器,android,asp.net,vb.net,pdf,Android,Asp.net,Vb.net,Pdf,我正试图通过我正在工作的网站来传输PDF文件。我在下面列出的过程在iPhone和桌面浏览器上运行良好,但由于某些原因,它在Android设备上不起作用。它开始下载,但随后无限期地显示“下载中”。如果我将PDF文件放在网站的文件路径中,并键入PDF文件的URL,下载效果会非常好。然而,在我们的例子中,我们无法通过URL获得PDF文件。我在网上找到了其他答案,但没有一个能解决我的问题。有什么想法吗 这是我目前掌握的代码: Protected Sub SendFile() Dim output
Protected Sub SendFile()
Dim output As Byte() = GetByteArray()
Response.Clear()
Response.ContentType = "application/pdf"
Response.AddHeader("content-disposition", "attachment; filename=fileName.PDF")
Response.AddHeader("content-length", output.Length.ToString())
Response.BinaryWrite(output)
End Sub
Public Function GetByteArray() As Byte()
Dim responseData As Byte()
Dim req As FileWebRequest = Nothing
Dim resp As FileWebResponse = Nothing
Dim reader As BinaryReader = Nothing
Try
req = FileWebRequest.Create(fileName)
resp = req.GetResponse
Dim buffer As Byte() = New Byte(resp.ContentLength - 1) {}
reader = New BinaryReader(resp.GetResponseStream())
buffer = reader.ReadBytes(buffer.Length)
responseData = buffer
Finally
If req IsNot Nothing Then
req = Nothing
End If
If resp IsNot Nothing Then
resp.Close()
resp = Nothing
End If
If reader IsNot Nothing Then
reader.Close()
reader = Nothing
End If
End Try
Return responseData
End Function
看起来与此非常相似,所以回答:在sendfile函数末尾添加Response.Flush()后,您能检查一下吗?谢谢您的回复@user2930100我刚刚尝试了Response.Flush方法,但它仍然不起作用:/