首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net上传文件 过大解决办法

2012-05-28 
asp.net上传文件 过大问题:我没有设置大小 上传了个9M的文件 就不行了。而且我调试的时候 都进不去 调试不

asp.net上传文件 过大
问题:我没有设置大小 上传了个9M的文件 就不行了。而且我调试的时候 都进不去 调试不了 为什么? //获取文件保存的路径
  string FilePath = Server.MapPath(".//") + "Files";
  //获取由客户端上载文件的控件集合
  HttpFileCollection HFC = Request.Files;
  for (int i = 0; i < HFC.Count; i++)
  {
  //对客户端已上载的单独文件的访问
  HttpPostedFile UserHPF = HFC[i];
  try
  {
  if (UserHPF.ContentLength > 0)
  {

  //调用GetAutoID方法获取上传文件自动编号
  int IntFieldID = CC.GetAutoID("fileID", "tb_files");
  //文件的真实名(格式:[文件编号]上传文件名)
  //用于实现上传多个相同文件时,原有文件不被覆盖
  string strFileTName = "[" + IntFieldID + "]" + System.IO.Path.GetFileName(UserHPF.FileName);

  string filename = System.IO.Path.GetFileName(UserHPF.FileName);//文件名字
  string exec = filename.Substring(filename.LastIndexOf(".") + 1); //后最名

  if (exec.ToLower() != "docx" && exec.ToLower() != "doc" && exec.ToLower() != "pdf")
  {
  ScriptManager.RegisterStartupScript(this, GetType(), "emptyError", "alert('只能上传(.docx .doc .pdf)三种类型!');", true);
  return;
  }
  else
   
  {
   
  Tb_file useradd = new Tb_file();
  useradd.FileID =int.Parse( IntFieldID.ToString());
  useradd.FileName = System.IO.Path.GetFileName(UserHPF.FileName).ToString();
  useradd.FileLoad = FilePath.ToString();
  useradd.FileTrueName = strFileTName.ToString();
  useradd.Areaname = buda.ToString();//省份
  useradd.Cityname = TextBox1.Text.ToString();//单位名称
  useradd.Tel = TextBox2.Text.ToString();//手机号码
  useradd.Uname = TextBox3.Text.ToString();//姓名
  useradd.Provincename = TextBox4.Text.ToString();//案例标题
  useradd.Uptime = DateTime.Now.ToLongDateString();//系统默认时间 DateTime.Now.AddDays(-1)前一天
  useradd.Unitname = ounameuser;//登陆人姓名
  useradd.Verifying = "审核中";
   
  Tb_fileManager.Instance.AddTb_file(useradd);
  //将上传的文件存放在指定的文件夹中
  UserHPF.SaveAs(FilePath + "//" + strFileTName);
  IntIsUF = 1;
  }
  }
  }
  catch
  {
  //文件上传失败,清空缓存中的上传控件集,重新加载上传页面
  if (Session["FilesControls"] != null)
  {
  Session.Remove("FilesControls");
  }
  Response.Write(CC.MessageBox("处理出错!", "FileUp.aspx"));
  return;
  }

  }
  //当文件上传成功或者没有上传文件,都需要清空缓存中的上传控件集,重新加载上传页面
  if (Session["FilesControls"] != null)
  {
  Session.Remove("FilesControls");
  }
  if (IntIsUF == 1)


  {
  IntIsUF = 0;
  Response.Write(CC.MessageBox("上传成功!", "FileUp.aspx"));
  }
  else
  {
  Response.Write(CC.MessageBox("请选择上传文件!", "FileUp.aspx"));
  }

[解决办法]
想要想上传大文件,必须在web.config文件中进行配置。
在<system.web>节点中添加如下代码即可:
<httpRuntime maxRequestLength="2097151"/>
这个代码就是表示设置最大请求值,上传文件也就相当于请求。maxRequestLength单位为KB,最大值为:2097151.如果不设置,默认为4096 KB (4 MB)。
也就是说上传的文件最大可以上传2G以内的文件。
一般没有配置的话,默认只能上传4M以内的文件。配置了的话就可以上传更大的文件。

热点排行