在用File控件上传文件时,发现上传一两兆的文件都没有问题,而上传十兆以上的文件就会显示“无法显示网页”,可是程序中已经设置了如果上传失败,就弹出对话框显示失败原因,百思不得其解,请高人指点!

解决方案 »

  1.   

    web.config<httpRuntime><httpRuntime useFullyQualifiedRedirectUrl="true|false"
                 maxRequestLength="size in kbytes" //修改这里
                 executionTimeout="seconds"
                 minFreeThreads="number of threads"
                 minFreeLocalRequestFreeThreads="number of threads"
                 appRequestQueueLimit="number of requests"
                 versionHeader="version string"/>
    iis 修改连接时间
      

  2.   

    以前,总以为ASP.NET上传大小有所限制而且在225M之内,但今天看来,这个说法不准确。几乎可以说,它是无限大小上传的。只不过,因为操作系统本身的限制及参数的设置,让它有了限制。
    从服务器的性能来说,服务器越高级,内存越大,它的上传速度也就越大,而且可上传的上限也越高。
    扩大上传限制的奥妙就在于服务器的内存大小及系统的设定。
    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config
    上述文件中,有一个设置ASP.NET对于内存使用的限制,即
    processModel 节的memoryLimit属性。此属性,默认被设置为60,即60%,意思即为可使用服务器总内存的60%,当使用的内存超过这个数值时,系统将自动执行回收动作。
    当我们在上传的时候,如果上传的文件大小所占用的内存大小及整个运行环境超过了系统可用内存的60%时,此上传即失败。而且据实际数值看,要上传1M大小的文件,它就会占用2M的内存。如此,当你要上传1000M的文件时,你的服务器内存起码要有2000M或更大。
    而且,普通情况下,由于我们的操作系统,对于内存的使用,是有限制的,即使你有4G的内存,但你能使用的仅仅是2G大小(除非应用其他方法扩大使用范围,当然,在今后64位系统下,可使用内存将大大增加了)。而如果没有修改这个60%的限制的话,那么,可使用的仅仅只能是1.2G,再扣除上传文件中的扩大内存占用,几乎可以说,在不修改其他参数的情况下,ASP.NET能上传最大不超过600M的文件。(我已经成功上传350M大小的文件,速度超过2M/s)。
    在未上传文件前,系统所使用内存大约在220,在上传最后,内存占用达到950M左右,两者相减之后,约等于所上传文件大小的一倍。
      

  3.   

    maxRequestLength=1024000
    上面是100M大小,注意单位为K直接设置一般可以上传不超过200M大小的文件(不过如果你的服务器内存太小有可能允许上传的大小会下降.),但绝对不会是仅10M
      

  4.   

    这个和系统配置有关系,还有网络状态有关系,局域网测试的时候可以传的相对比较大。
    INTERNET传的过大就算没有系统限制也会出现超时等情况。
      

  5.   

    请在<system.web>之间设置
    <!-- 设置上传文件大小 -->
    <httpRuntime useFullyQualifiedRedirectUrl="true" maxRequestLength="104857" executionTimeout="900"/>
    就可以了