我正在使用Visual Studio 2010创建一个Windows应用程序。使用SQL Server 2008 R2作为数据库并将图像保存为数据类型image
。上传成功完成。但是我从数据库中检索图像并将其显示在PictureBox
中时出现错误参数无效。
这是我的代码
byte[] pic = ((byte[])dr["image1"]);
Image newImage;
using (MemoryStream ms = new MemoryStream(pic, 0, Convert.ToInt32(pic.Length)))
{
ms.Write(pic, 0, pic.Length);
//Set image variable value using memory stream.
newImage = Image.FromStream(ms, true);
}
//set picture
pictureBox1.Image = newImage;
答案 0 :(得分:0)
最有可能的是,图像未正确保存到数据库中。你可以发布你正在使用的代码吗?
答案 1 :(得分:0)
您正在创建包含图像数据的内存流,但随后又将图像数据写入流中。只需创建内存流并使用它:
byte[] pic = (byte[])dr["image1"];
Image newImage;
using (MemoryStream ms = new MemoryStream(pic)) {
//Set image variable value using memory stream.
newImage = Image.FromStream(ms, true);
}
//set picture
pictureBox1.Image = newImage;