突破ASP.NET文件上传的4MB极限

在保存文件时,您应该确保指定文件的完整路径(例如,"C:\MyFiles\Picture.jpg"),并确保为 ASP.NET 使用的帐户提供要存储文件的目录的写权限。上载大文件时,可使用 元素的 maxRequestLength 属性来增加文件大小的最大允许值,例如:

<configuration>
   <system.web>
   <httpRuntime maxRequestLength="1048576" executionTimeout="3600" />
   </system.web>
</configuration>

其中:maxRequestLength:指示 ASP.NET 支持的HTTP方式上载的最大字节数。该限制可用于防止因用户将大量文件传递到该服务器而导致的拒绝服务攻击。指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。executionTimeout:指示在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。在当文件超出指定的大小时,如果浏览器中会产生 DNS 错误或者出现服务不可得到的情况,也请修改以上的配置,把配置数加大。

另外,上载大文件时,还可能会收到以下错误信息:

aspnet_wp.exe (PID: 1520) 被回收,因为内存消耗超过了 460 MB(可用 RAM 的百分之 60)。

如果遇到此错误信息,请增加应用程序的 Web.config 文件的 元素中 memoryLimit 属性的值。例如:

<configuration>
   <system.web>
      <processModel memoryLimit="80"/>
   </system.web>
</configuration>

----------------------------------------------------------------------------------------------------------------------------------

Q:WebHtmlEditor 1.0 Release 如何修改上传文件的类型以及如何修改上传文件的大小?

A:WebHtmlEditor 的相关上传属性 都在 WebHtmlEditor.Configure中配置
例如:
WebHtmlEditor.Configure.UpLoadImageFilter = "gif|jpg|jpeg|bmp";//表示允许上传的图片类型为“gif|jpg|jpeg|bmp”
WebHtmlEditor.Configure.UpLoadImageSize = 500;//表示允许上传的图片大小是500k
WebHtmlEditor.Configure.UpLoadFlashSize = 800;//表示允许上传的Flash大小是800k
WebHtmlEditor.Configure.UpLoadFlashFilter = "swf";//表示允许上传的Flash类型为“swf”

 


Q:谁能提供超大文件上传解决方案?
A:可以使用我提供的“UpLoadModule”。
什么是 UpLoadModule?
我们在上传大文件时都遇到过这样或那样的问题。设置很大的maxRequestLength值并不能完全解决问题,因为ASP.NET会block直到把整个文件载入内存后,再加以处理。实际上,如果文件很大的话,我们经常会见到Internet Explorer显示 "The page cannot be displayed - Cannot find server or DNS Error",好像是怎么也catch不了这个错误。
Lion.Web.UpLoadModule[简称:UpLoadModule]为您提供了这样的一个方案,该方案除了允许你上传大文件外,还能实时显示上传进度并捕获上传中的错误信息。
下载地址:http://www.lionsky.net/MyWebSite/DownSoft/List.Aspx?ID=225

如果你想将UpLoadModule集成至WebHtmlEditor中,请参考“将CodeHighlighter(代码高亮组件)以接口形式集成到WebHtmlEditor中<http://www.lionsky.net/Demo/WebHtmlEditor/1_0/I_CodeHighlighter.aspx>”

posted on 2005-04-20 09:13  基于.NET·在线英语考试系统开发  阅读(833)  评论(0)    收藏  举报

导航