7

を保存することは可能ItemAttachmentですか? FileAttachment次の EWS マネージ API コードを使用して保存するため、

   if(attachment is FileAttachment)
    {
      FileAttachment fAttachment = new FileAttachment();
      fAttachment.Load("D:\\Stream" + fAttachment.Name);
    }

についてはItemAttachmentどうですか?ItemAttachmentこのようなものを指定したファイルに保存するにはどうすればよいですか?

4

1 に答える 1

14

確かにこれはまだ差し迫った問題ではありませんが、私と同じように将来これに出くわした人のために共有すると思います.

ItemAttachments の場合、アイテムの MimeContent をロードする必要があります。その後、ファイル/出力 [".eml", ".msg"] に書き込むだけです。

if (attachment is FileAttachment)
{
    FileAttachment fileAttachment = attachment as FileAttachment;

    // Load attachment contents into a file.
    fileAttachment.Load(<file path>);
}
else // Attachment is an ItemAttachment (Email)
{
    ItemAttachment itemAttachment = attachment as ItemAttachment;

    // Load Item with additionalProperties of MimeContent
    itemAttachment.Load(EmailMessageSchema.MimeContent);

    // MimeContent.Content will give you the byte[] for the ItemAttachment
    // Now all you have to do is write the byte[] to a file
    File.WriteAllBytes(<file path>, itemAttachment.Item.MimeContent.Content);
}
于 2014-01-21T17:06:31.317 に答える