我正在使用以下函数将图像存储在数据库中
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/