c# - 使用c#显示以BLOB格式存储在MySql数据库中的图像

标签 c# mysql

我正在使用以下函数将图像存储在数据库中

 void SaveImage(byte[] image)
        {
            MySqlConnection con = new MySqlConnection(db);//new connection is made
            con.Open();

                string cmdText = "INSERT INTO Picture(RoomNo ,pic )VALUES ('" + RoomNo.Text + "',?Image)";
                MySqlCommand cmd = new MySqlCommand(cmdText, con);
                cmd.Parameters.Add("?Image", image);
                cmd.ExecuteNonQuery();
         
        }

在 main 中我是这样调用函数的

 using (var ms = new MemoryStream())
            {
                picbox.Image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
                SaveImage(ms.ToArray());
            }

我不知道如何在图片框中显示它..任何人都可以帮助我吗???

最佳答案

您使用的是 Windows 窗体吗?并且您必须将字节数组转换为图像才能在图片框中显示它。

public Image byteArrayToImage(byte[] byteArrayIn)
{
    MemoryStream ms = new MemoryStream(byteArrayIn);
    Image returnImage = Image.FromStream(ms);
    return returnImage;
}

以及您是如何将图像转换为字节数组的。我希望那个问题不存在。您可以使用:

  private byte[] ImageToByteArray(string ImageFile)
    {
        FileStream stream = new FileStream(
              ImageFile, FileMode.Open, FileAccess.Read);
        BinaryReader reader = new BinaryReader(stream);

        // Convert image to byte array.
        byte[] photo = reader.ReadBytes((int)stream.Length);

        return photo;
    }

关于c# - 使用c#显示以BLOB格式存储在MySql数据库中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12131087/

相关文章:

mysql - FOREIGN KEY ... REFERENCE 没有错误,但只是数据库中的空列

php - 以某种形式随机挑战?

php - phpexcel生成报告时出错

mysql - LOAD DATA LOCAL INFILE 找不到路径

c# - 条件或对 Linq-to-entities 没有影响?

c# - 线程 : Locking Under the hood of

c# - NavigationService 删除 forwardstack

c# - DataTable 到 Dictionary<String,StringBuilder> 的转换

c# - 使用 CollectionViewSource 在数据网格上进行分组的问题

mysql - 使用新值更新重复键