是IIS6 不是 5.x版的,操作系统是WINDOW 2003SERVER、NET1.1我将IIS超时设置已设为超长了,10个小时。上传文件也设为一次可以上传1G的了,web.config也设置为超长越大文件了,但是程序在上传一些文件大于40M左右的还是会有时出错(有时上传50M也行的,出错情况不一定)。看了N次程序,还是觉得程序没错的,:(,而且在本机在IIS5.X下可以一次上传200M都行~如果还是不行今天回去KILL掉 xp 自己装个 2003再试一下,~讨厌是不是IIS的内存太少了?还是什么情况。在那里配置IIS所使用的内存的?
http://dotnet.aspx.cc/ShowDetail.aspx?id=6381BD5F-51F3-4339-4239-1328564A1B2A
所以要主出现这样的问题,并非程序问题,应是操作系统问题,而且是你的操作系统问题.你可选择重装系统来解决.
不过,数据库有点不同,是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();
}
hchxxzx:但是我想需要的并不是写入数据库的:)
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秒钟
是IIS6 不是 5.x版的,操作系统是WINDOW 2003SERVER、NET1.1,不是XP,:)
xp下是没问题的就是在2003下才有问题,valu 的我也改过了,都是不行的