My Life My Dream!

守信 求实 好学 力行
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

解决文件上传大小的限制

Posted on 2007-09-26 16:23  召冠  阅读(408)  评论(0编辑  收藏  举报
在web.config中的<system.web></system.web>内加入如下代码: 
      <httpRuntime executionTimeout="600" maxRequestLength="100000" 
         useFullyQualifiedRedirectUrl="true" minFreeThreads="8" 
         minLocalRequestFreeThreads="4" appRequestQueueLimit="100"  enableVersionHeader="true"/> 

FileUpload1.SaveAs(Server.MapPath(".") + FileUpload1.FileName);

这样上传文件的最大值就变成了100M,但这样并不能让我们无限的扩大 MaxRequestLength的值,因为ASP.NET会将全部文件载入内存后,再加以处理。解决的方法是利用隐含的 HttpWorkerRequest,用它的GetPreloadedEntityBody和ReadEntityBody方法从IIS为ASP.NET 建立的pipe里分块读取数据。