从SQL加载图片并在C#中将其设置为图片框图像

问题描述 投票:0回答:1

我使用此代码从 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);
c# sql-server image memorystream
1个回答
0
投票

感谢大家回复我,正如我所写,

(object)imageData
是我发送到SQL Server的数据。我把它改为
(Array)imageData
,问题就解决了。

© www.soinside.com 2019 - 2024. All rights reserved.