एम्बेडेड ऑब्जेक्ट्स डेटा का निष्कर्षण
कभी-कभी एम्बेडेड OLE डेटा को "oleData.mso" अटैचमेंट के रूप में दर्शाया जाता है द्वारा MapiAttachment और इसे मैन्युअल रूप से निकाला जाना चाहिए। ये oleData.mso फ़ाइलें Microsoft Computer Document File (MCDF) फ़ॉर्मेट की होती हैं और ऐसी फ़ाइलों के लिए समर्थन Aspose.Email के दायरे से बाहर है। हालांकि, Aspose.Email को अन्य ओपन‑सोर्स लाइब्रेरी जैसे OpenMCDF के साथ मिलाकर ऐसी फ़ाइलों की सामग्री पढ़ी जा सकती है और डिस्क पर सहेजी जा सकती है। Aspose.Email प्रदान करता है InlineAttachmentExtractor oledata.mso के बाइनरी डेटा से MSO पैकेज को enumerate करने के लिए क्लास, जिसे फिर कंपाउंड फ़ाइल पढ़ने वाली लाइब्रेरियों द्वारा सामग्री के निष्कर्षण के लिए उपयोग किया जा सकता है।
यदि संदेश बॉडी प्रकार 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));
}
}
}