Ekstraksi data Objek Tersemat
Kadang-kadang data OLE yang disematkan direpresentasikan sebagai lampiran "oleData.mso" oleh MapiAttachment dan harus diekstrak secara manual. File oleData.mso ini berformat Microsoft Computer Document File (MCDF) dan dukungan untuk file semacam itu berada di luar lingkup Aspose.Email. Namun, Aspose.Email dapat digunakan bersama dengan pustaka sumber terbuka lainnya, seperti OpenMCDF, untuk membaca isi file tersebut dan menyimpannya ke disk. Aspose.Email menyediakan InlineAttachmentExtractor kelas untuk mengenumerasi paket MSO dari data biner oledata.mso, yang kemudian dapat digunakan untuk ekstraksi isi oleh perpustakaan pembaca Compound Files.
Jika tipe isi pesan adalah HTML (bukan RTF), dan ada objek OLE dalam pesan, properti MapiPropertyTag.PR_ATTACH_DATA_OBJ tidak ada. Dalam kasus ini, informasi tentang objek OLE terdapat dalam oldedata.mso.
Ekstraksi Objek Tersemat
Artikel ini menunjukkan cara mengekstrak isi dari berkas semacam itu menggunakan 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));
}
}
}