以下的文章主要介绍的是MySQL保存jpg 图片的实际操作过程,我们大家都知道MySQL数据库下可以通过blob, mediumbolb,l ongblob等一些类型来保存图片,当然不同的相关图片文件类似操作会有所不同,例如.bmp格式图片。
示例代码:
保存图片到MySQL
private void btnOpenFile_Click(object sender, EventArgs e)
{
- 1.
- 2.
打开图片文件
this.openFileDialog1.InitialDirectory = "C:\\";
this.openFileDialog1.FileName = "";
this.openFileDialog1.ShowDialog();
- 1.
- 2.
- 3.
连接字符串
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();
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
从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;
}
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
以上的相关内容就是对MySQL保存jpg图片的介绍,望你能有所收获。
【编辑推荐】