我使用此代码从 SQL 加载图像并将其设置为图片框图像。但代码不起作用。我在 SQL Server 中使用“image”/“varbinary(Max)”作为徽标图像。
byte[] data = (byte[])(DT.Rows[0][18]);
MemoryStream mem = new MemoryStream(data);
pictureBox1.Image = Image.FromStream(mem);
实际上,最后一行显示错误:
参数无效
这是我将图片发送到 SQL 的方式((object)imageData 是我发送的数据)。
Image img = Image.FromFile(opf.FileName);
MemoryStream tmpStream = new MemoryStream();
img.Save(tmpStream, System.Drawing.Imaging.ImageFormat.Png); // change to other format
tmpStream.Seek(0, SeekOrigin.Begin);
byte[] imageData = new byte[img.Size.Height * img.Height];
tmpStream.Read(imageData, 0, img.Size.Height * img.Height);
感谢大家回复我,正如我所写,
(object)imageData
是我发送到SQL Server的数据。我把它改为(Array)imageData
,问题就解决了。