用例:
从代码中,我必须访问msaccess,它将存储包裹在oleobject中的几个文件存储在其中。我必须提取原始文件并将其保存到文件系统中。我们事先不知道包裹的文件类型。
我专心研究了这个主题,并遇到了一些类似的“半解决方案”:
Extract OLE Object (Word document) from MS Access
http://www.douglaspasqua.com/2013/01/24/java-remove-ole-headers-from-images-stored-as-ole-objects-in-access-database/
How to remove junk characters while reading a word document stored in 'OLE Object' field in an access database through C#?
不幸的是,上述解决方案由于以下几个原因而无法工作:
1.我们事先不知道文件类型,因此我们无法删除基于文件类型的OLE标头。但是要了解文件类型,我们必须删除OLE标头。陷阱22。
2.我们不知道会出现的文件类型集(可能是pdf,docx,doc,jpg .... any)。因此,我们无法测试针对有限类型的OLE移除(仅针对docx,docx,jpg),并保持良好的状态。