我有一个Web窗体应用程序。 要能够上传大文件(100MB),它要求。 我打算用的HttpHandler和HTTP模块将文件分割,以块 。
我也看了一下http://forums.asp.net/t/55127.aspx
但它是一个很老的帖子,我已经看到了使用的HttpHandler在互联网上的一些例子。
例如http://silverlightfileupld.codeplex.com/
我不知道HTTP模块仍然是更好然后HttpHandler的。
由于HTTP模块苹果整个应用程序的请求,我只想把它应用到指定的页面。
任何人都可以解释的HttpHandler的大文件上传清晰的缺点 (如果有的话)? 如果你知道不使用闪光灯/ Silverlight的一个很好的例子,你能在这里发布的链接? 谢谢
编辑:想看看一些源代码示例。
为什么不尝试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