我有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:\projects\xxx\Attach\" + pAttachment);
}
catch (Exception e)
{
string eMessage = e.Message;
Console.WriteLine(eMessage);
}
}
//END Extract Attachment
答案 0 :(得分:3)
我不敢。
NotesEmbeddedObject.ExtractFile
方法尝试提取附件,但是校验和不匹配,一旦出现该错误,就会抛出异常。
我不知道任何其他处理附件的Notes后端类(可能是别人做的......)