Extração de Dados de Objetos Incorporados
Às vezes, os dados OLE incorporados são representados como anexo "oleData.mso" por MapiAttachment e precisa ser extraído manualmente. Estes arquivos oleData.mso estão no formato Microsoft Computer Document File (MCDF) e o suporte a tais arquivos está além do escopo do Aspose.Email. No entanto, o Aspose.Email pode ser usado em combinação com outras bibliotecas de código aberto, como o OpenMCDF, para ler o conteúdo desses arquivos para salvar em disco. O Aspose.Email fornece o InlineAttachmentExtractor classe para enumerar pacotes MSO dos dados binários de oledata.mso, que podem então ser usados para extração de conteúdo por bibliotecas de leitura de arquivos compostos.
Se o tipo do corpo da mensagem for HTML (não RTF) e houver objetos OLE na mensagem, a propriedade MapiPropertyTag.PR_ATTACH_DATA_OBJ está ausente. Nesse caso, as informações sobre os objetos OLE estão contidas em oldedata.mso.
Extração de Objetos Incorporados
Este artigo mostra como extrair o conteúdo de um arquivo desse tipo usando 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));
}
}
}