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

初学者~请问图片上传有关问题~

2012-01-30 
菜鸟~请教图片上传问题~~protected void btnfileup_Click(object sender, EventArgs e)//上传图片{string

菜鸟~请教图片上传问题~~
protected void btnfileup_Click(object sender, EventArgs e)//上传图片
  {
  string strext;
  int filelength;
  string strName;
  int intext;
  string struppath;
  if (fileimg.PostedFile.ContentLength > 0)
  {
  try
  {
  filelength = fileimg.PostedFile.ContentLength;
  strName = fileimg.PostedFile.FileName;
  intext = strName.LastIndexOf(".");
  strext = strName.Substring(intext);
  System.Drawing.Image image;
  if (filelength > 3000000)
  {
  Response.Write("<script>alert('图片大于300K,无法上传')</script>");
  }
  else
  {
   
  struppath = @"..\img\";
  if (strext == ".jpg" || strext == ".gif")
  {
  if (!System.IO.Directory.Exists(Server.MapPath(struppath)))
  {
  System.IO.Directory.CreateDirectory(Server.MapPath(struppath));
  }
  string strurl = Server.MapPath(struppath+@"\"+fileimg.FileName);
  fileimg.SaveAs(strurl);
  image = System.Drawing.Image.FromFile(strurl);
  image.Dispose();
  Image1.ImageUrl = @"..\img\" + fileimg.FileName;
   
  //Response.Write("<script>alert('上传成功!')</script>");
   
  }
   
  else
  {
  Response.Write("<script>alert('图片上传失败!格式必须为.jpg或.gif')</script>");
  }
  fileimg.SaveAs(Server.MapPath(fileimg.FileName));
  }
  }
  catch (Exception ex)
  {
  Response.Write(ex.Message);
  Response.Write("<script>alert('" + ex + "')</script>");
  }
  }
  else 
  {
  Response.Write("<script>alert('请先选择上传图片的路径!')<script>");
  }

  }
  protected void btnadd_Click(object sender, EventArgs e)//添加进数据库
  {
  string title = TextBox1.Text;
  string count = TextBox2.Text;
  string pic = Server.MapPath(fileimg.FileName);

  string sql = "insert into Commentary valuse('" + title + "','" + count + "','" + pic + "')";
  SqlCommand cmd = new SqlCommand(sql,conn);
  try
  {
  conn.Open();
  cmd.ExecuteNonQuery();
  Response.Redirect("~/adminAdd/Ok.aspx");
  }
  catch (Exception ex)
  {
  Response.Write("<script>alert('添加失败!')</script>");
  Response.Write("<script>alert('" + ex.Message + "')</script>");
  }
  finally 
  {
  conn.Close();


  }
  }

问题:
我点了上传了图片后~上传控件中的路径就消失了~导致无法存如数据库.
如何点了后保存住路径

还有
保存进数据库时如何能把前面的E:/..这东西去掉..该如何改呢,,
请各位指教..谢了..

[解决办法]
我点了上传了图片后~上传控件中的路径就消失了~导致无法存如数据库. 
========
如果没出错误的话,就能够保存到数据库中。
向数据库存的时候,存相对路径,而不是绝对路径,所以就不存在什么E:/类的问题了。
[解决办法]
http://topic.csdn.net/u/20080220/14/50bc397d-2260-4a2d-954e-4d41bb9ea6a1.html
[解决办法]
我猜也许是应用在ajax下吧,那请加上下面一代code:
<Triggers>
<asp:PostBackTrigger ControlID="btnfileup" />
</Triggers>

另外,请参考上传的完整例子:
http://blog.csdn.net/insus/archive/2008/01/20/2055030.aspx

热点排行