MySQL保存jpg图片 测试通过

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;
        }

 

转载于:https://www.cnblogs.com/Vitus_feng/archive/2010/05/04/1727570.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值