首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >保存ItemAttachment

保存ItemAttachment
EN

Stack Overflow用户
提问于 2014-10-02 15:12:46
回答 1查看 1.4K关注 0票数 1

我使用的是EWSJavaAPI1.2,使用这段代码保存ItemAttachment有问题。

代码语言:javascript
复制
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。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

发布于 2014-10-03 04:30:45

您不能对ItemAttachment本身执行加载,因为这将尝试执行对附件无效的GetItem请求。您需要做的是在Attachment.load()上包含一个带有Mime的属性集,例如

代码语言:javascript
复制
                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);
                            }                               
                        }
                    }                      

干杯格伦

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26163968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档