我正在使用EWS JAVA API 1.2,我在使用此代码保存ItemAttachment时遇到问题。
if(attachmentsCol.getPropertyAtIndex(i) instanceof FileAttachment)
{
...
}
else
{
ItemAttachment attachment = (ItemAttachment)attachmentsCol.getPropertyAtIndex(i);
attachment.load();
Item item = attachment.getItem();
item.load(newPropertySet(ItemSchema.MimeContent));`
MimeContent Itemmc = item.getMimeContent();
....
}
item.load(....)
会返回此错误
microsoft.exchange.webservices.data.InvalidOperationException:这个 无法执行操作,因为此服务对象没有 一个Id。
感谢您的帮助。
答案 0 :(得分:0)
您无法在ItemAttachment本身上执行加载,因为这将尝试执行对附件无效的GetItem请求。你需要做的是在Attachment.load()上包含一个带有Mime内容的属性集,例如
foreach (var item in findResults.Items)
{
foreach (Attachment Attach in item.Attachments) {
if (Attach is ItemAttachment) {
PropertySet psProp = new PropertySet(BasePropertySet.FirstClassProperties);
psProp.Add(ItemSchema.MimeContent);
((ItemAttachment)Attach).Load(psProp);
if (((ItemAttachment)Attach).Item.MimeContent != null)
{
System.IO.File.WriteAllBytes("c:\\temp\\file.eml", ((ItemAttachment)Attach).Item.MimeContent.Content);
}
}
}
干杯 格伦