大文件的上传使用的HttpHandler或HTTP模块?(Large File Upload Usi

2019-06-24 00:36发布

我有一个Web窗体应用程序。 要能够上传大文件(100MB),它要求。 我打算用的HttpHandler和HTTP模块将文件分割,以

我也看了一下http://forums.asp.net/t/55127.aspx

但它是一个很老的帖子,我已经看到了使用的HttpHandler在互联网上的一些例子。

例如http://silverlightfileupld.codeplex.com/

我不知道HTTP模块仍然是更好然后HttpHandler的。

由于HTTP模块苹果整个应用程序的请求,我只想把它应用到指定的页面。

任何人都可以解释的HttpHandler的大文件上传清晰的缺点 (如果有的话)? 如果你知道不使用闪光灯/ Silverlight的一个很好的例子,你能在这里发布的链接? 谢谢

编辑:想看看一些源代码示例。

Answer 1:

为什么不尝试plupload它是如何做它有很多的功能有许多回退和这里。

这是HTTP处理程序的代码:

Imports System
Imports System.IO
Imports System.Web


Public Class upload : Implements IHttpHandler


    Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
        Dim chunk As Integer = If(context.Request("chunk") IsNot Nothing, Integer.Parse(context.Request("chunk")), 0)
        Dim fileName As String = If(context.Request("name") IsNot Nothing, context.Request("name"), String.Empty)

        Dim fileUpload As HttpPostedFile = context.Request.Files(0)

        Dim uploadPath = context.Server.MapPath("~/uploads")
        Using fs = New FileStream(Path.Combine(uploadPath, fileName), If(chunk = 0, FileMode.Create, FileMode.Append))
            Dim buffer = New Byte(fileUpload.InputStream.Length - 1) {}
            fileUpload.InputStream.Read(buffer, 0, buffer.Length)

            fs.Write(buffer, 0, buffer.Length)
        End Using

        context.Response.ContentType = "text/plain"
        context.Response.Write("Success")
    End Sub

    Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
        Get
            Return False
        End Get
    End Property

End Class


文章来源: Large File Upload Using HttpHandler or HttpModule?