Извличане на данни от вградени обекти

Понякога вградените OLE данни се представят като "oleData.mso" прикачен файл от MapiAttachment и трябва да се извлече ръчно. Тези файлове oleData.mso са в формат Microsoft Computer Document File (MCDF) и поддръжката на такива файлове е извън обхвата на Aspose.Email. Въпреки това Aspose.Email може да се използва в комбинация с други с отворен код библиотеки, като OpenMCDF, за четене на съдържанието на такива файлове за записване на диск. Aspose.Email предоставя InlineAttachmentExtractor клас за изброяване на MSO пакети от бинарните данни на oledata.mso, които след това могат да се използват за извличане на съдържание чрез библиотеки за четене на Compound Files.

Ако типът на тялото на съобщението е HTML (не RTF) и в съобщението има OLE обекти, свойството MapiPropertyTag.PR_ATTACH_DATA_OBJ отсъства. В този случай информацията за OLE обектите е съдържана в oldedata.mso.

Извличане на вградени обекти

Тази статия показва как да се извлекат съдържанията от такъв файл с помощта на Aspose.Email и OpenMCDF. Това може да се направи по следния начин:

  • Избройте MSO пакети от бинарните данни на прикачения oledata.mso
  • за всеки OLE данни, прочетете CompoundFile
  • Прочетете потока с CONTENTS
  • Запишете съдържанието във FileStream