解决ASP.NET上传文件大小限制

asp.net|解决|上传

  
对于asp.net,默认只允许上传2M文件,增加如下配置,一般可以自定义最大文件大小.
<httpRuntime 
executionTimeout="300" 
maxRequestLength="40960" 
useFullyQualifiedRedirectUrl="false"/> 

如果还不行,可以使用思归提供的方案:
我们在上传大文件时都遇到过这样或那样的问题。设置很大的maxRequestLength值并不能完全解决问题,因为ASP.NET会block直到把整个文件载入内存后,再加以处理。实际上,如果文件很大的话,我们经常会见到Internet Explorer显示 "The page cannot be displayed - Cannot find server or DNS Error",好像是怎么也catch不了这个错误。为什么?因为这是个client side错误,server side端的Application_Error是处理不到的,可以参考这个帖子研究一下产生这个错误的机理。
handling server error when upload file too large 
解决的方法是利用隐含的HttpWorkerRequest,用它的GetPreloadedEntityBody 和 ReadEntityBody方法从IIS为ASP.NET建立的pipe里分块读取数据
  IServiceProvider provider = (IServiceProvider) HttpContext.Current; 
  HttpWorkerRequest wr = (HttpWorkerRequest) provider.GetService(typeof(HttpWorkerRequest));
  byte[] bs = wr.GetPreloadedEntityBody();
  ....
  if (!wr.IsEntireEntityBodyIsPreloaded())
  {
        int n = 1024;
        byte[] bs2 = new byte[n];
        while (wr.ReadEntityBody(bs2,n) >0)
       {
             .....
        }
  }
Chris Hynes为我们提供了这样的一个方案(用HttpModule),该方案除了允许你上传大文件外,还能实时显示上传进度:
ASP.NET Upload Magic Part 2 
这里有他讲座的PPT文件:
Uploading with ASP.NET (part 1)
Uploading with ASP.NET (part 2)

时间: 2024-10-27 08:52:12

解决ASP.NET上传文件大小限制的相关文章

asp限制上传文件大小实例

        一款利用asp文件上传组件把文件上传到服务器之前进行判断文件大小否超过指定大小了,本实例讲的是upload_5xsoft文件上传组件哦,file.filesize>1000000就可以限制文件为多少k. dim upload,file,formname,formpath,icount,filename,fileext set upload=new upload_5xsoft                '建立上传对象 formpath="download/"  

求大神帮我解决ueditor单图上传按钮显示的问题asp.net

问题描述 求大神帮我解决ueditor单图上传按钮显示的问题asp.net 因为公司项目需要,昨天下载了一个.net版的ueditor富文本编辑器,现在也只是能在页面上显示出来了,还有很多的配置问题没解决,现在的问题是单图上传按钮是灰色的,怎么让它显示?还是多图上传的本地文件上传的配置问题,希望能来个大牛帮我解决一下,最好有个截图解释一下,才刚工作一个月,谢谢了

应用程序-ASP.NET2.0 IIS6 上传文件大小限制

问题描述 ASP.NET2.0 IIS6 上传文件大小限制 已经设置了应用程序下的Web.config中的maxRequestLength大小和metaBase.xml中ASP...Allow的大小了,完全无动于衷! 解决方案 修改web.config中httpRuntime增加maxRequestLength配置就行了(单位kb),metabase.xml是asp的..确认你没改错.. 解决方案二: 解决方案三: 如果设置httpruntime maxRequestLength 还需要在设置你

Asp.Net修改上传文件大小限制方法_实用技巧

话不多说,随小编一起看看下面代码吧 i. Configuration节点下 <system.webServer> <security> <requestFiltering> <!--单位为字节 maxAllowedContentLength--> <requestLimits maxAllowedContentLength="2097151000"/> </requestFiltering> </securi

风云ASP组件上传教程

纯Javascript打造的ASP上传组件,支持多文件上传.进度条.数据库存放和文件系统存放 组件下载地址(为方便版本同步,未在此处上传附件):http://www.zope.org/Members/Rimifon/FyUpload.sct(右键下载) 相关说明:有组件上传方式请右键"FyUpload.sct"注册,然后可以使用: Server.CreateObject("Rimifon.Upload")创建对象.无组件上传方式请使用 GetObject("

asp.NET上传文件到指定文件夹,ACCESS数据库,SQL数据库代码

access|asp.net|上传|数据|数据库 /* 我修改了一天时间.终于找到门路了.呵呵ACCESS中存放文件内容的字段类型为:OLE对象SQL中存放文件内容的字段类型为:image此代码为上传文件代码.梢后整理发布下载文件代码 代码设计实现功能:asp.NET上传文件到指定文件夹,ACCESS数据库,SQL数据库代码 已经测试文件格式 .TXT,JPG..MDB.GIF */ using System;using System.Collections;using System.Compo

asp.net上传execl文件后,在页面上加载显示

 本篇文章主要是对asp.net上传execl文件后,在页面上加载显示(示例代码)进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助  代码如下:     #region 上传Execl文件     protected void Button1_Click(object sender, EventArgs e)     {         if (FileUpload1.HasFile)         {             string NewFileName = string.E

ASP.NET上传文件的三种基本方法

 ASP.NET依托.net framework类库,封装了大量的功能,使得上传文件非常简单,主要有以下三种基本方法. 方法一:用Web控件FileUpload,上传到网站根目录. Test.aspx关键代码: [html] view plaincopy <form id="form1" runat="server">   <asp:FileUpload ID="FileUpload1" runat="server&q

Web.Config文件配置之限制上传文件大小和时间的属性配置_实用技巧

在邮件发送系统或者其他一些传送文件的网站中,用户传送文件的大小是有限制的,因为这样不但可以节省服务器的空间,还可以提高传送文件的速度.下面介绍如何在Web.Config文件中配置限制上传文件大小与时间. 在Web.Config文件中配置限制上传文件大小与时间字符串时,是在<httpRuntime><httpRuntime/>节中完成的,需要设置以下2个属性:maxRequestLength属性:用于防止服务器攻击,例如因用户向服务器发送大型文件而导致的拒绝访问.默认值为4096(4