1

OLE 对象列包含图像,但图像类型 (jpg/gif/tiff) 未知。这些图像需要从数据库中提取并保存到磁盘。该应用程序主要使用 VB.NET,但也欢迎使用 C# 示例。

谢谢拉胡尔

4

2 回答 2

3

尝试使用System.Drawing.Image.FromStream加载图像。您可以使用从字节数组制作流System.IO.MemoryStream foo = new System.IO.MemoryStream(MyByteArray);

一旦你加载了图像,你可以使用任何你想要保存的 GDI 东西(例如ImageInstance.Save(FileName);

于 2009-05-21T14:06:11.133 回答
3

创建一个足够大的字节数组来保存 OLE 对象:

Dim bArr(Len(<OLE Object Field>)) as Byte

读取 OLE 对象列的第一行并将其放入字节数组中。

对于 GIF 文件,字节 0 到 2 将具有 ASCII 值“GIF”。对于 JPEG 文件,字节 6 到 9 通常具有值“JFIF”。对于 PNG 文件,字节 1 到 3 将具有 ASCII 值“PNG”。

TIFF 比较困难,因为有很多不同的 TIFF 标准。

一旦确定了文件类型,就可以使用 Brian 的方法来保存文件

于 2009-05-21T16:01:14.443 回答