您可以以完全自定义的方式处理上传,而无需使用缓冲
HttpRequest.GetBufferlessInputStream方法。基本上,您可以访问原始的传入数据,并随意随意使用它。
我刚刚创建了一个将原始请求内容保存到文件的小样本:
>创建处理程序:
public class UploadHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
using (var stream = context.Request.GetBufferlessInputStream())
using (var fileStream = File.Create("c:\\tempfile.txt"))
{
stream.CopyTo(fileStream);
}
}
public bool IsReusable { get { return true; } }
}
>在Web.config中注册:
path="/upload"
type="UploadHandler"
resourceType="Unspecified"/>
>创建一个带有表单的页面:
<input type="file" name="aa" id="aa"/>