asp.net VB.net 文件下载处理程序无法正常工作
asp.net VB.net file download handler not work properly
我有一个大文件(大约 2GB)要分发给我们的客户,我的网站是由 asp.net vb 编写的,这是我的文件下载处理程序:
Public Class FileHandler
Implements IHttpHandler
Public Sub ProcessRequest(ByVal httpcontext As HttpContext) Implements IHttpHandler.ProcessRequest
If HttpContext.User.Identity.IsAuthenticated Then
Dim FileName As String = HttpContext.Request.QueryString("File")
HttpContext.Response.Buffer = False
HttpContext.Response.Clear()
HttpContext.Response.AddHeader("content-disposition", "attachment; filename=" & FileName)
HttpContext.Response.ContentType = "application/exe"
HttpContext.Response.TransmitFile("~/download/ExE/" & FileName)
HttpContext.Response.Flush()
HttpContext.Response.Close()
End If
End Sub
Public ReadOnly Property IsReusable As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
我的问题是这个处理程序有时无法正常工作。
大部分客户都可以通过这个handler下载,但是有些客户点击下载link,会无休止的等待服务器的响应,等了很久,显示错误页面说IE无法显示该网页。有些客户尝试从IE8下载文件,会直接显示错误页面。
我真的很感激任何人都可以帮助解决这个问题。谢谢!
我对文件本身使用按钮或简单的 link,我从来不需要使用处理程序来下载文件。
例如,在 aspx 上我有一个按钮,在后面的代码中我使用响应对象将用户发送到文件:
Protected Sub Button_DownloadFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_DownloadFile.Click
Response.AddHeader("Content-Disposition", "attachment; filename=TheFileName.ext")
Response.WriteFile("~/App_Data/TheFileName.ext")
END SUB
我有一个大文件(大约 2GB)要分发给我们的客户,我的网站是由 asp.net vb 编写的,这是我的文件下载处理程序:
Public Class FileHandler
Implements IHttpHandler
Public Sub ProcessRequest(ByVal httpcontext As HttpContext) Implements IHttpHandler.ProcessRequest
If HttpContext.User.Identity.IsAuthenticated Then
Dim FileName As String = HttpContext.Request.QueryString("File")
HttpContext.Response.Buffer = False
HttpContext.Response.Clear()
HttpContext.Response.AddHeader("content-disposition", "attachment; filename=" & FileName)
HttpContext.Response.ContentType = "application/exe"
HttpContext.Response.TransmitFile("~/download/ExE/" & FileName)
HttpContext.Response.Flush()
HttpContext.Response.Close()
End If
End Sub
Public ReadOnly Property IsReusable As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class
我的问题是这个处理程序有时无法正常工作。 大部分客户都可以通过这个handler下载,但是有些客户点击下载link,会无休止的等待服务器的响应,等了很久,显示错误页面说IE无法显示该网页。有些客户尝试从IE8下载文件,会直接显示错误页面。 我真的很感激任何人都可以帮助解决这个问题。谢谢!
我对文件本身使用按钮或简单的 link,我从来不需要使用处理程序来下载文件。
例如,在 aspx 上我有一个按钮,在后面的代码中我使用响应对象将用户发送到文件:
Protected Sub Button_DownloadFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_DownloadFile.Click
Response.AddHeader("Content-Disposition", "attachment; filename=TheFileName.ext")
Response.WriteFile("~/App_Data/TheFileName.ext")
END SUB