asp.Net画像をmysqlデータベースにアップロードする方法

1799 ワード

これはページ上のボタンクリックイベントです
 
  
  protected void Button1_Click(object sender, EventArgs e)
  {
  string tid = Utils.getRandom(32);
  Stream mystream = this.FileUpload1.PostedFile.InputStream;
  int length = this.FileUpload1.PostedFile.ContentLength;
  byte[] pic = new byte[length];
  mystream.Read(pic, 0, length);
  bool flg = insert(tid, pic);
  }

これは挿入を実行する方法です

     
  
 public bool insert(string tid,byte[] pic)
  {
  DBConn db = new DBConn();
  StringBuilder sql = new StringBuilder();
  sql.Append("insert into teacher(TID,TPHOTO,TDELETE) values (?tid,?pic,?flg)");
  int flg = 0;
  try
  {
  myConnection = db.getConnection();
  MySqlCommand myCommand = new MySqlCommand(sql.ToString(), myConnection);
  myCommand.Parameters.Add(new MySqlParameter("?tid", MySqlDbType.String, 32));
  myCommand.Parameters["?tid"].Value = tid;
  myCommand.Parameters.Add(new MySqlParameter("?pic", MySqlDbType.Blob));
  myCommand.Parameters["?pic"].Value = pic;
  myCommand.Parameters.Add(new MySqlParameter("?flg", MySqlDbType.Int16));
  myCommand.Parameters["?flg"].Value = 0;
  myConnection.Open();
  flg = myCommand.ExecuteNonQuery();
  }
  catch (Exception ex)
  {
  return false;
  }
  finally
  {
  if (myConnection != null)
  {
  myConnection.Close();
  }
  }
  if (flg > 0)
  {
  return true;
  }
  return false;
  }