חילוץ נתוני אובייקטים משולבים
לפעמים נתוני OLE משובצים מיוצגים כקובץ מצורף "oleData.mso" על ידי MapiAttachment וצריך לחלץ בצורה ידנית. קבצי oleData.mso אלה הם בפורמט Microsoft Computer Document File (MCDF) והתמיכה בקבצים אלו היא מעבר לתחום של Aspose.Email. עם זאת, ניתן להשתמש ב‑Aspose.Email בשילוב עם ספריות קוד פתוח אחרות, כגון OpenMCDF, לקריאת תוכן הקבצים לצורך שמירה בכונן. Aspose.Email מספקת את InlineAttachmentExtractor מחלקה להצגת חבילות MSO מתוך הנתונים הבינריים של oledata.mso, שניתן להשתמש בהן לחילוץ תכנים על ידי ספריות קריאת קבצים מורכבים.
אם סוג גוף ההודעה הוא HTML (לא RTF), ויש אובייקטים של OLE בהודעה, המאפיין MapiPropertyTag.PR_ATTACH_DATA_OBJ אינו נמצא. במצב זה, המידע על אובייקטי OLE מצוי בקובץ oldedata.mso.
חילוץ אובייקטים משולבים
מאמר זה מראה כיצד לחלץ את התוכן מקובץ כזה באמצעות 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));
}
}
}