是IIS6 不是 5.x版的,操作系统是WINDOW 2003SERVER、NET1.1我将IIS超时设置已设为超长了,10个小时。上传文件也设为一次可以上传1G的了,web.config也设置为超长越大文件了,但是程序在上传一些文件大于40M左右的还是会有时出错(有时上传50M也行的,出错情况不一定)。看了N次程序,还是觉得程序没错的,:(,而且在本机在IIS5.X下可以一次上传200M都行~如果还是不行今天回去KILL掉 xp 自己装个 2003再试一下,~讨厌是不是IIS的内存太少了?还是什么情况。在那里配置IIS所使用的内存的?

解决方案 »

  1.   

    用webservice上传
    http://dotnet.aspx.cc/ShowDetail.aspx?id=6381BD5F-51F3-4339-4239-1328564A1B2A
      

  2.   

    补充一下,我是使用思归blog所提供的上传组件的
      

  3.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=6381BD5F-51F3-4339-4239-1328564A1B2A//作者只是试过才70M的文件,更大的有没有试过?我试过了多个组件,在本机测试的速度最快上传文件最大的就是思归blog所介绍的那个~
      

  4.   

    metabase.xml 前天就改过了,还是不行呢 :(
      

  5.   

    我测试过,用普通的NET提供的上传方式及WEB.CONFIG里面的设定,测得.NET中最大支持上传225M的文件.超过则不支持.速度非常快,在百M桌面局域网条件下,每秒可达1M以上(在文件超过百M时)
    所以要主出现这样的问题,并非程序问题,应是操作系统问题,而且是你的操作系统问题.你可选择重装系统来解决.
      

  6.   

    请参见以下程序,是前几天有人问的类似问题我写出来测试的.轻易上传80M文件(写到数据库中)请参见如下程序,是我刚才在我笔记本上写出来测试的。很成功,在笔记本上做服务器,内存占用上升不大(笔记本做服务器,数据库在别的机止,在笔记本的IE里面进行上传)
    不过,数据库有点不同,是ORACLE9ISystem.Web.HttpPostedFile myFile = this.Request.Files[this.File1.ID];
    int myLength = myFile.ContentLength;if(myLength != 0)
    {
    System.IO.Stream myStream = myFile.InputStream; 
    byte[] myByte = new byte[myLength];
    myStream.Read(myByte,0,myLength);string sql = "insert into tst_myblob(id,blob) values(:id,:blob)";
    System.Data.OracleClient.OracleConnection conn = new OracleConnection("Data Source=xxx;user id=xxx;password=xxx");
    conn.Open();System.Data.OracleClient.OracleCommand cmd = conn.CreateCommand();
    cmd.CommandText = sql;
    cmd.Parameters.Add(new OracleParameter("id",OracleType.Number));
    cmd.Parameters["id"].Value = this.TextBox1.Text;
    cmd.Parameters.Add(new OracleParameter("blob",OracleType.Blob));
    cmd.Parameters["blob"].Size = myLength;
    cmd.Parameters["blob"].Value = myByte;
    cmd.Parameters["blob"].Offset = 10;
    cmd.ExecuteNonQuery();
    }
      

  7.   

    非常谢谢
    hchxxzx:但是我想需要的并不是写入数据库的:)
      

  8.   

    //计算时间
    DateTime StartTime = DateTime.Now;
    System.Web.HttpPostedFile myFile = this.Request.Files[this.File1.ID];
    if(myFile.ContentLength != 0)
    {
    try
    {
    //求取文件名
    string tmp = myFile.FileName;
    string fileName = tmp.Substring(tmp.LastIndexOf("\\") + 1);
    //保存到当前目录下
    myFile.SaveAs(this.Server.MapPath(".") + "\\" + fileName);
    }
    catch
    {
    this.Response.Write("出现未知错误!");
    this.Response.End();
    }
    }//结束时间
    DateTime EndTime = DateTime.Now;
    this.TextBox1.Text = EndTime.ToString() + "|" +  StartTime.ToString();
    如上程序,试验了一下,在笔记本(赛扬1.7,512内存,XP)环境下,本机上传81M电影,用时24秒钟
      

  9.   

    IIS 6.0 中无法上传超过200K的附件以及无法下载超过4M的附件问题http://bbs.wei6.com/DisForum.asp?ID=2226
      

  10.   

    谢谢hchxxzx,
    是IIS6 不是 5.x版的,操作系统是WINDOW 2003SERVER、NET1.1,不是XP,:)
    xp下是没问题的就是在2003下才有问题,valu 的我也改过了,都是不行的