Extraktion von eingebetteten Objektdaten
Manchmal wird eingebettete OLE‑Daten als "oleData.mso"‑Anhang dargestellt von MapiAttachment und muss manuell extrahiert werden. Diese oleData.mso‑Dateien sind im Microsoft Computer Document File (MCDF)‑Format und die Unterstützung solcher Dateien liegt außerhalb des Aufgabenbereichs von Aspose.Email. Allerdings kann Aspose.Email in Kombination mit anderen Open‑Source‑Bibliotheken, wie OpenMCDF, verwendet werden, um den Inhalt solcher Dateien zu lesen und auf die Festplatte zu speichern. Aspose.Email stellt das bereit. InlineAttachmentExtractor Klasse zum Aufzählen von MSO‑Paketen aus den Binärdaten von oledata.mso, die dann mittels Bibliotheken zum Lesen von Compound‑Files zum Extrahieren von Inhalten verwendet werden können.
Wenn der Nachrichtentexttyp HTML (nicht RTF) ist und es OLE‑Objekte in einer Nachricht gibt, fehlt die MapiPropertyTag.PR_ATTACH_DATA_OBJ‑Eigenschaft. In diesem Fall sind die Informationen über OLE‑Objekte in oldedata.mso enthalten.
Extraktion eingebetteter Objekte
Dieser Artikel zeigt, wie man den Inhalt einer solchen Datei mit Aspose.Email extrahiert:
// 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));
}
}
}