NSF
には2つの添付ファイルを含む電子メールメッセージが含まれています。添付ファイルの1つが破損していて、保存しようとすると、このメッセージが表示されます。The attachment may be corrupted. Would you like to continue with the available data?
Lotus Notes - プログラムで破損した添付ファイルを保存する - NotesEmbeddedObject
[はい]をクリックすると、破損した添付ファイルが指定したディレクトリに保存されます。これはいい。
私は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