2

EWS API를 사용하여 검색 한 ItemAttachments를 저장해야하지만 모든 다른 항목 유형의 파일 확장명을 알지 못합니다. 이메일 메시지 유형 및 연락처 유형의 항목 만 가져올 수있었습니다. 여기에 코드가 있습니다.다양한 Ews/Outlook 항목의 파일 확장자는 무엇입니까?

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 = ?? 
    } 
} 

누군가가 나머지 항목의 파일 확장명을 알 수 있습니까?

답변

1

당신은 의 MIME 내용을 가지고 있습니다. 항목이 맞습니다. 약속 내용의 MIME 내용은 .ics 파일을 나타내며 (특히 참석자와의 약속 인 경우 전체 표현을 얻지는 않습니다). PostItem, contactgroup작업 항목의 MIME 내용은 내가 아는 특정 파일 형식을 나타내지 않습니다. MIME 스트림을 구문 분석 (또는 각 항목의 속성을 요청)하고 파일을 만들어야합니다. 예를 들어 작업 속성을 구문 분석하고 vTodo 파일을 만들 수 있습니다. ContactGroup (메일 그룹) 및 PostItem에 대한 일종의 표준 파일 형식을 찾고 해당 파일 형식으로 결과를 구문 분석하는 것이 좋습니다.

일반적으로 필요한 모든 속성을 갖고 있지 않기 때문에 MIME 콘텐츠를 사용하지 않는 것이 좋습니다. 완전 충실도에 접근하고 더 나은 성능 (서비스에서)을 얻으려면 첨부 파일에서 필요한 속성을 요청하고 결과를 최종 파일 형식으로 구문 분석합니다.

+0

감사합니다. Michael !!!! 네, EmailMessage와 Contact의 mime 내용을 가지고 있고 mime을 .eml과 .vcf로 각각 저장하고 있습니다. 저장된 MIME 콘텐츠를 열면 모든 것을 그대로 볼 수 있습니다. mime에서 누락 된 속성이 나열되어있는 설명서가 있습니까? 단순히 itemattachment를 파일 첨부 파일로 취급하고 mime 구문 분석/특정 속성 및 모든 것을 요청하지 않고 표준 형식으로 파일을 다운로드하기 만하면됩니다. 너무 어색해. 왜 이런 식으로해야하는지 궁금합니다. – Sameer

+0

@Mokchhya - 천만에요. 아니요, 우리는 어떤 속성이 MIME 스트림에서 반환되는지 (또는 반환되지 않는) 어떤 문서가없는 것입니다. MIME 스트림의 데이터베이스 속성을 변환하기위한 서버 비용이 있기 때문에 MIME 스트림의 사용을 권장하지 않습니다. MIME 스트림은 이전 버전과의 호환성을 위해 공개되었습니다. 우리는 구현 자들이 전체 속성 가방이 아니라 필요한 속성 만 요청하도록 홍보하려고합니다. 당신이 성취하려는 것을 말해 줄 수 있습니까? –

+0

그대로 첨부 파일을 잡고 파일로 저장해야합니다. – Sameer