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;
}
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;
}
相关文章推荐
- 2种方法解决mysql主从不同步 .
- mysql游标示例mysql游标简易教程
- 不停止MySQL服务增加从库的两种方式
- MYSQL索引及慢查询优化简析
- mysql行转列(拆分字符串场景)
- mysql密码为空,给设置密码
- mysql 存储过程事务
- mysql 复制原理图
- mysql 中的bool值
- 调mysql函数从1开始生成自增序列值
- rhel6.5上的mysql5.5.30安装
- MySQL按日期月份分区实例解析
- mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication
- MySQL PDO连接与操作
- MySQL中进行树状所有子节点的查询
- 沃森Mysql数据库修复工具
- MYSQL多表联合查询
- 64位win7下mysql5.6免安装
- MYSQL 编码设置
- Mysql:This version of MySQL doesn’t yet support ‘LIMIT & IN/ALL/ANY/SOME 错误解决