MySQL保存jpg图片 测试通过

来源:互联网 发布:macbook如何删除软件 编辑:程序博客网 时间:2024/05/17 18:00

1.MySQL下可通过blob,mediumbolb,longblob等类型来保存图片

2.不同的图片文件类似操作会有所不同,例如.bmp格式图片

 

示例代码:

  //保存图片到MySQL

        private void btnOpenFile_Click(object sender, EventArgs e)
        {

    //打开图片文件
            this.openFileDialog1.InitialDirectory = "C:\\";
            this.openFileDialog1.FileName = "";
            this.openFileDialog1.ShowDialog();

    //连接字符串

            string connStr = "server=vitus;User Id=root;Password=******;Persist Security Info=True;database=Test";
            string sql = string.Format("insert into ImageTest values(@id,@picture)");

            FileStream fs = new FileStream(this.openFileDialog1.FileName,FileMode.Open);
            Byte[] bts = new Byte[fs.Length-1];
            fs.Read(bts,0,(int)fs.Length-1);

            MySqlConnection sqlConn = new MySqlConnection(connStr);
            MySqlCommand sqlComm = new MySqlCommand(sql,sqlConn);

            sqlComm.Parameters.Add("@id", MySqlDbType.Int32, 1);
            sqlComm.Parameters["@id"].Value = 2;
            sqlComm.Parameters.AddWithValue("@picture", bts);

            sqlConn.Open();
            sqlComm.ExecuteNonQuery();
            sqlConn.Clone();
        }

 

  //从MySQL中读取并显示图片

        private void btnImageView_Click(object sender, EventArgs e)
        {
            string connStr = "server=vitus;User Id=root;Password=******;Persist Security Info=True;database=Test";
            string sql = string.Format("select * from ImageTest where id=2");

            MySqlConnection sqlConn = new MySqlConnection(connStr);
            MySqlCommand sqlComm = new MySqlCommand(sql, sqlConn);
            sqlConn.Open();
            MySqlDataReader dr = sqlComm.ExecuteReader(CommandBehavior.CloseConnection);
            Image image = null;
            while (dr.Read())
            {
                MemoryStream buff = new MemoryStream((byte[])dr[1]);
                image = Image.FromStream(buff, true);
                buff.Close();
            }

            this.pictureBox1.Image = image;
        }

0 0