将流转换为图像时,参数是无效的异常



我正在使用Northwind.sdf数据库,并试图通过以下代码从Employees表中保存一名员工的照片:我得到字节[]。行是DataTable中的DataRow。

byte[] b = (byte[])row["Photo"];
MemoryStream str = new MemoryStream(b);
Image im = Image.FromStream(str);
im.Save("Fuller.png");

尝试将流转换为图像时,我得到的参数不是有效的异常。

根据这些文章:http://www.akadia.com/services/dotnet_load_blob.html和http://www.eggheadcafe.com/articles/20050911.asp"Northwind Employees表是从MS Access设计的,它需要一个78字节的OLE头"。您必须从MemoryStream中省略前78个。

MemoryStream str = new MemoryStream(); 
int offset = 78;              
str.Write(b, offset, b.Length - offset);
Image im = Image.FromStream(str);

相关内容

  • 没有找到相关文章

最新更新