Видобування даних вбудованих об’єктів

Іноді вбудовані OLE-дані представляються у вигляді вкладення "oleData.mso" за MapiAttachment і потребує ручного видобутку. Ці файли oleData.mso мають формат Microsoft Computer Document File (MCDF), і підтримка таких файлів виходить за межі можливостей Aspose.Email. Однак Aspose.Email можна використовувати в комбінації з іншими open-source бібліотеками, такими як 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