我有一个在ASP.NET(VB.NET)中有前端的应用程序,后端是Oracle。在oracle中,我有一个在两个文件服务器(文件服务器A,文件服务器B)上生成文件的过程。我有两个服务器,一个是开发服务器,另一个是客户端服务器。在我的应用程序中,我有一个网页'GenerateReport.aspx',用于生成报告。在日期的基础上,后端程序在文件服务器A和B上生成文件。当我在开发服务器上托管应用程序并下载生成的文件时,它会完全下载,当我托管客户端服务器的应用程序并仅下载生成的文件时下载文件的一部分(97MB文件的56KB)。我用于下载文件的代码如下。
Private Sub DownloadFileClient(ByVal RemoteFilePath As String)
Try
Dim File As System.IO.FileInfo
File = New System.IO.FileInfo(RemoteFilePath)
If File.Exists Then
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" & File.Name)
Response.AddHeader("Content-Length", File.Length.ToString())
Response.ContentType = "application/octet-stream"
Response.TransmitFile(File.FullName)
Response.End()
Else
lblErrorMsg.Text = "Unable to Download"
End If
Catch ex As Exception
lblErrorMsg.Text = "Unable to Download,check file path"
End Try
End Sub
答案 0 :(得分:0)
在致电Response.End()
之前,请刷新回复流。
实际上,除非你遗漏了其他东西,否则你应该Flush(),但不要打扰Response.End()
。