Ekstrakcja danych obiektów osadzonych

Czasami osadzone dane OLE są reprezentowane jako załącznik "oleData.mso" przez MapiAttachment i musi być wyodrębniony ręcznie. Pliki oleData.mso są w formacie Microsoft Computer Document File (MCDF) i wsparcie dla takich plików wykracza poza zakres działania Aspose.Email. Jednak Aspose.Email może być używany w połączeniu z innymi bibliotekami open‑source, takimi jak OpenMCDF, do odczytywania zawartości tych plików w celu zapisania ich na dysk. Aspose.Email zapewnia InlineAttachmentExtractor klasa enumerująca pakiety MSO z danych binarnych oledata.mso, które mogą być następnie użyte do wyodrębniania zawartości przez biblioteki odczytujące pliki Compound Files.

Jeśli typ treści wiadomości jest HTML (nie RTF) i w wiadomości znajdują się obiekty OLE, właściwość MapiPropertyTag.PR_ATTACH_DATA_OBJ jest nieobecna. W takim przypadku informacje o obiektach OLE znajdują się w pliku oldedata.mso.

Ekstrakcja obiektów osadzonych

Ten artykuł pokazuje, jak wyodrębnić zawartość z takiego pliku przy użyciu Aspose.Email i OpenMCDF. Można to zrobić w następujący sposób:

  • Wylicz pakiety MSO z danych binarnych załącznika oledata.mso
  • dla każdego danych OLE, odczytaj CompoundFile
  • Odczytaj strumień za pomocą CONTENTS
  • Zapisz zawartość do FileStream