我似乎无法弄清楚为什么从 SQL 数据库检索到的图像字节数组无法使用 XImage.FromSource() 读取为有效流。我在应用程序的其他区域中使用了相同的方法来保存和检索图像,并且在检索时图像显示正确,并且我已经在提到的其他区域中使用 fromsource() 测试了相同的图像,并且图像确实显示了正确,所以我不会说这是我如何将 varbinary 保存到数据库的问题。
代码如下:
connectionString();
con.Open();
com.Connection = con;
com.CommandText = "SELECT TOP(1) [Image] FROM dbo.recovery_job_images WHERE [JobNo] = '21802' AND [ImageName] = 'DAMAGE IMAGE'";
dr = com.ExecuteReader();
while (dr.Read())
{
byte[] byteArray = (byte[])dr["Image"];
XImage image2;
using (var stream = new MemoryStream(byteArray))
{
image2 = XImage.FromStream(stream); //always returns parameter not valid
}
XImage image = XImage.FromFile("_Logo.png");
gfx.DrawImage(image, 400, 20, 140, 74);
//pdfDoc.Save("C:\\" + filename);
pdfDoc.Save(filename);
}
我相信问题出在
dr["Image"]
。
此栏输入什么内容?
您可以寄样品给我们测试吗?