最近项目中用到在asp.net中上传大文件,一般700-800兆,本来是用sunriseupload进行上传,但是现在存在一个问题,它会在使用一段时间后就不行了,它是使用uploadhelper.getuploadfile()方法来取得上传文件,但就每次取都为空了,但我确实是选择了文件的,如果重新启动计算机,或者重新启动IIS,或者将项目编译的dll文件重新覆盖一下,就又好了,但过一段时间又不行了,被搞得郁闷死了,不知道大家有没有遇到这种情况阿,我想问的事应该如何解决呢,或者还有没有其他的上传组件阿(有的话希望能够给个下载地址或者发到我邮箱哈,可以的话我可以开新贴给500分哈)?麻烦解答一下哈,实在是被搞得焦头烂额了阿

解决方案 »

  1.   

    可以通过修改系统允许大附件上传
    1、找到%SYSROOT%\Microsoft.NET\Framework\v1.1.4322\CONFIG\machine.config文件。(例如我的在C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG目录下)。
    2、找到httpRuntime段,修改maxRequestLength="409600",原来的只有4096,单位为K,只能上传4M大小文件。
    3、修改processModel段的userName为SYSTEM。
      

  2.   

    iis6不支持大附件上传,进行如下改动
    打开位于 C:\Windows\System32\Inetsrv 中的 metabase.XML, 并修改 AspMaxRequestEntityAllowed 为你需要的值(例如 "1073741824", 1GB).
      

  3.   

    如果不想改系统,这有个组件,可以看一下
    http://bestcomy.cnblogs.com/archive/2004/06/09/14267.html
      

  4.   

    to dgrwang() 
    你说的我都用过的,修改maxRequestLength只能最大上传100兆左右,再大就会报错,另外我是iis5.1,所以也不存在修改metabase.XML的问题,还有你给出的http://bestcomy.cnblogs.com/archive/2004/06/09/14267.html
    那个东西是要钱钱的啊
      

  5.   

    单单靠修改maxRequestLength来上传超大文件是不行的,微软自带的上传组件再上传时将把文件全部放在服务器内存中,不超时也要出现错误。建议采用第三方大文件上传组件
      

  6.   

    找了一个不要钱的给你:
    http://down.cnzz.cn/info/191.aspx
      

  7.   

    看来CSDN里面还是不容易找到答案阿,那么多专家都跑哪里去了?
      

  8.   

    machine.config:
    改变上传文件大小和时间限制
           <httpRuntime> 
                executionTimeout="110"              //允许上传文件最大等待时间
                maxRequestLength="4096"        //上传文件大小,默认为4M
           </httpRuntime>
    上传文件大小是由上面两个参数所决定的.  涉及到安全因素,最好不要设得太大.    
    Asp.net 2.0 用 FileUpload 控件实现多文件上传 用户控件(示例代码下载):
    http://blog.csdn.net/ChengKing/archive/2006/04/30/699244.aspx
      

  9.   

    to chengking
    不好意思,前面我已经说了的,修改httpruntime节根本解决不了问题的,它只能扩大至80兆左右,而我的要求是400兆以上,另外我并没有问多文件上传,单个大文件上传解决了,多文件轻而易举
    另外,lion.web.uploadmodule我试了,和sunrise一个问题,都是运行一段时间后就不行了,我看了看代码,好像是抄sunrise的代码修改了一下下而已,看来在csdn上要找到答案还是我比较奢侈的想法了
      

  10.   

    看来CSDN里面还是不容易找到答案阿,那么多专家都跑哪里去了?
    -----------------------------------------------------------------
    看来在csdn上要找到答案还是我比较奢侈的想法了
    ---------------------------------------------------UP,楼主想干什么?