OLE对象列包含图像,但图像类型(jpg / gif / tiff)未知。需要从DB中提取这些图像并将其保存到磁盘。该应用程序主要使用VB.NET,但也欢迎使用C#示例。
感谢 拉胡
答案 0 :(得分:3)
尝试使用System.Drawing.Image.FromStream
加载图片。您可以使用System.IO.MemoryStream foo = new System.IO.MemoryStream(MyByteArray);
加载图片后,您可以使用想要保存的任何GDI内容(例如ImageInstance.Save(FileName);
)
答案 1 :(得分:3)
创建一个足以容纳OLE对象的字节数组:
Dim bArr(Len(<OLE Object Field>)) as Byte
读入OLE Object列的第一行并将其放在Byte数组中。
对于GIF文件,字节0到2将具有ASCII值“GIF”。 对于JPEG文件,字节6到9通常具有值“JFIF”。 对于PNG文件,字节1到3将具有ASCII值“PNG”。
由于存在许多不同的TIFF标准,因此TIFF更加困难。
确定文件类型后,可以使用Brian的方法保存文件