我正在尝试将位图图像(jpeg、png、jpg)从 WinForms PictureBox 插入到 MYSQL DB BLOB 属性,然后再次将其读出到该 pictureBox。
插入执行正常:
user.Img = pictureBoxFoto.Image;
sqlCommand.CommandText = "INSERT INTO`gclinic`.`user`(`Img`)VALUES (@img);";
sqlCommand.Parameters.Add(new MySqlParameter("@img", user.Img));
if (sqlCommand.ExecuteNonQuery() != 1)
{
throw new InvalidProgramException("Erro: SQLuser - add() Throw() - mysql ");
}
问题似乎出在从 MYSQL 读取上:
if (!reader.IsDBNull(reader.GetOrdinal("Img")))
{
Byte[] byteBLOBData = new Byte[0];
byteBLOBData = (Byte[])(reader["Img"]);
MemoryStream stmBLOBData = new MemoryStream(byteBLOBData);
user.Img = Image.FromStream(stmBLOBData);
}
抛出异常:System.Drawing.dll 中的“System.ArgumentException”“参数无效”加载 System.Drawing.Image 异常
最佳答案
将其添加到您的代码中。
byteBLOBData[0]=new Byte();
关于c# - 如何从 Windows 窗体中的 MySQL 获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41080967/