各种Ews/Outlook项目的文件扩展名是什么?

各种Ews/Outlook项目的文件扩展名是什么?,outlook,exchange-server,exchangewebservices,exchange-server-2010,Outlook,Exchange Server,Exchangewebservices,Exchange Server 2010,我需要保存使用EWS API检索的ItemAttachments,但我不知道所有不同项目类型的文件扩展名。我只能设法获取EmailMessage和Contact类型项目的扩展名。这是代码 if (attachment is ItemAttachment) { var itemAttachment = attachment as ItemAttachment; itemAttachment.Load(new PropertySet(ItemSchema.MimeContent))

我需要保存使用EWS API检索的ItemAttachments,但我不知道所有不同项目类型的文件扩展名。我只能设法获取EmailMessage和Contact类型项目的扩展名。这是代码

if (attachment is ItemAttachment)
{
    var itemAttachment = attachment as ItemAttachment;

    itemAttachment.Load(new PropertySet(ItemSchema.MimeContent));

    var fileExtension = "";

    if (itemAttachment.Item is EmailMessage)
    {
        fileExtension = ".eml";
    }
    else if (itemAttachment.Item is PostItem)
    {
        fileExtension =??  
    }
    else if (itemAttachment.Item is Contact)
    {
        fileExtension = ".vcf";
    }
    else if (itemAttachment.Item is ContactGroup)
    {
        fileExtension =??
    }
    else if (itemAttachment.Item is Appointment)
    {
        fileExtension = ??
    }
    else if (itemAttachment.Item is Task)
    {
        fileExtension = ??
    }
}

有人能告诉我其余项目的文件扩展名是什么吗

您拥有正确的电子邮件联系人项目的MIME内容。约会的MIME内容表示.ics文件(请注意,您将无法获得完整的表示形式,特别是如果是与与会者的约会)。帖子联系人组任务项的MIME内容并不代表我所知道的特定文件类型。您将需要解析MIME流(或请求每个项目的属性),并从中创建一个文件。例如,您可以解析任务属性并创建文件。我建议您为ContactGroup(通讯组列表)和PostItem寻找某种标准文件类型,并将结果解析为该文件类型


一般来说,我建议您不要使用MIME内容,因为它可能没有您需要的所有属性。要接近完全逼真度并获得更好的性能(从服务),请请求附件上所需的属性,并将结果解析为结束文件类型

谢谢迈克尔!!!。是的,我有EmailMessage和Contact的mime内容,我分别将mime保存为.eml和.vcf。而且,当我打开保存的mime内容时,我可以完整地看到所有内容。您是否有任何文档,其中列出了mime中遗漏的属性?我希望我可以简单地将itemattachment视为文件附件,并简单地以某种标准格式下载该文件,而不必担心mime解析/请求特定属性等问题。太尴尬了。我想知道为什么一定要这样。@Mokchhya-不客气。不,我们没有在MIME流中返回(或不返回)属性的任何文档。我们试图阻止使用MIME流,因为转换MIME流中的数据库属性需要服务器成本。MIME流是为了向后兼容而公开的。我们试图促进实现者只请求他们需要的属性,而不是整个属性包。你能告诉我你想完成什么吗?我需要抓取附件并将其保存为文件。