您的位置:首页 > 数据库 > MySQL

MySQL保存jpg图片 测试通过

2015-07-01 17:39 633 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: