莆田五中2017高考喜报:.NET(C#)中大文件的存储问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/09 09:42:31
private void btn_update_Click(object sender, System.EventArgs e)
{
if(File1.PostedFile.ContentLength != 0)
{
StringBuilder myStr = new StringBuilder();
myStr.Append("文件路径:" + File1.PostedFile.FileName);
myStr.Append("<br>");

stringfileName=File1.PostedFile.FileName.SubstringFile1.PostedFile.FileName.LastIndexOf('\\')+1);
myStr.Append("文件名称:" + fileName);
myStr.Append("<br>");

string fileType=File1.PostedFile.ContentType;
myStr.Append("文件类型:" + fileType);
myStr.Append("<br>");

string fileSize=File1.PostedFile.ContentLength.ToString();
myStr.Append("文件长度:" + fileSize);
myStr.Append("<br>");

byte[] fileCont = new byte[File1.PostedFile.ContentLength];
File1.PostedFile.InputStream.Read(fileCont,0, File1.PostedFile.ContentLength);
string sql="insert into myfile(F_Name,F_Type,F_Size,F_File) values('"+fileName+"','"+fileType+"','"+fileSize+"','"+fileCont+"')";
SqlConnection conn=DBClass.createConn(); //调用数据库连接类
SqlCommand cmd=new SqlCommand(sql,conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
myStr.Append("保存完毕!");
myStr.Append("<br>");
Label1.Text = myStr.ToString();
}
catch (SqlException err)
{
Response.Write("SQL Exception: " + err.Message.ToString());
}
conn.Close();
}
else
{
Label1.Text = "你没有选择要上载的文件或者上传的文件长度为0!";
}
}

问题就出在"byte[] fileCont = new byte[File1.PostedFile.ContentLength];" 这句上,byte的最大范围是255
当上传的文件在4.5MB时就无法上传了。请问如何解决大文件的上传问题?
现在发现和byte变量没有关系,定义的是个数组。但是在上传文件超过4mb时,就会出现“无法显示网页”,没有错误提示。