Extrahování dat vložených objektů
Někdy jsou vložená data OLE reprezentována jako "oleData.mso" příloha od MapiAttachment a musí být extrahovány ručně. Tyto soubory oleData.mso jsou ve formátu Microsoft Computer Document File (MCDF) a podpora takových souborů přesahuje oblast působnosti Aspose.Email. Nicméně Aspose.Email může být použita v kombinaci s dalšími open-source knihovnami, jako je OpenMCDF, pro čtení obsahu těchto souborů a uložení na disk. Aspose.Email poskytuje the InlineAttachmentExtractor třída pro výpis MSO balíčků z binárních dat oledata.mso, která pak může být použita k extrakci obsahu knihovnami čtení Compound Files.
Pokud je typ těla zprávy HTML (ne RTF) a zpráva obsahuje OLE objekty, vlastnost MapiPropertyTag.PR_ATTACH_DATA_OBJ chybí. V takovém případě jsou informace o OLE objektech obsaženy v souboru oldedata.mso.
Extrahování vložených objektů
Tento článek ukazuje, jak extrahovat obsah z takového souboru pomocí Aspose.Email:
// The path to the File directory
String dataDir = "/data";
MapiMessage msg = MapiMessage.fromFile(dataDir + "double.msg");
for (MapiAttachment mapiAttachment : msg.getAttachments()) {
if ("oledata.mso".equals(mapiAttachment.getLongFileName())) {
IGenericDictionary<String, byte[]> oledata = InlineAttachmentExtractor.enumerateMsoPackage(new ByteArrayInputStream(mapiAttachment.getBinaryData()));
for (String oleItem : oledata.getKeys()) {
// Use binary data
processBynaryData(oledata.get_Item(oleItem));
}
}
}