Lotus Notes-以编程方式保存损坏的附件-NotesEmbeddedObject



我有一个NSF,其中包含一封带有两个附件的电子邮件。其中一个附件已损坏,如果我试图保存它,Notes将显示以下消息The attachment may be corrupted. Would you like to continue with the available data?

如果单击"是",Notes会将损坏的附件保存到我指定的目录中。这很好。

我想使用C#中的对象模型做同样的事情。如果运行NotesEmbeddedObject.ExtractFile(),则会收到以下异常消息:Notes error: Encoded Data Checksum Mismatch - Attachment may be corrupted。没有任何版本的文件被写入到我指定的目录中。

我希望代码将损坏的版本写入目录。我该怎么做?

现有代码:

//BEGIN Extract Attachment
//nItem is a NotesItem
if (nItem.type == IT_TYPE.ATTACHMENT)
{
    try
    {
        string pAttachment = ((object[])nItem.Values)[0].ToString();
        NotesDocument NDoc =  NotesConnectionDatabase.AllDocuments.GetNthDocument(i);
        NotesEmbeddedObject Neo = NDoc.GetAttachment(pAttachment);
        NDoc.GetAttachment(pAttachment).ExtractFile(@"D:projectsxxxAttach" + pAttachment);
    }
    catch (Exception e)
    {
        string eMessage = e.Message;
        Console.WriteLine(eMessage);
    }
}
//END Extract Attachment

恐怕不行。

NotesEmbeddedObject.ExtractFile方法试图提取附件,但存在校验和不匹配,一旦出现错误,就会抛出异常。

我不知道有任何其他Notes后端类处理附件(也许其他人处理…)

相关内容

  • 没有找到相关文章

最新更新