C# 管理具有相同名称和不同内容的attachmnet文件

C# 管理具有相同名称和不同内容的attachmnet文件,c#,lotus-notes,C#,Lotus Notes,我正在从收件箱中提取附件,发送电子邮件,起草电子邮件。 并将其保存在文件夹中 使用以下逻辑: 但我现在面临的问题是。 类型和名称相同但内容不同的附件。 在目前的情况下,它正在用新文件替换旧文件 如何为不同的邮件唯一地管理此附件。有几种方法: 1) 始终为每个附件生成一个随机文件名(此处的负数表示您将使用“更多”存储空间 2) 生成文件内容的类似SH-256的散列,并在其后为其命名(此处为负数,散列可能需要一段时间,具体取决于文件大小) 根据您的操作,我会将原始文件名保存在某个地方,以便根据电

我正在从收件箱中提取附件,发送电子邮件,起草电子邮件。 并将其保存在文件夹中

使用以下逻辑:

但我现在面临的问题是。 类型和名称相同但内容不同的附件。 在目前的情况下,它正在用新文件替换旧文件

如何为不同的邮件唯一地管理此附件。

有几种方法:
1) 始终为每个附件生成一个随机文件名(此处的负数表示您将使用“更多”存储空间
2) 生成文件内容的类似SH-256的散列,并在其后为其命名(此处为负数,散列可能需要一段时间,具体取决于文件大小)

根据您的操作,我会将原始文件名保存在某个地方,以便根据电子邮件中的文件名找到它。如果您选择哈希方法,可能还应该存储该文件所附加的电子邮件。

其他一些想法:

  • 您可以将Notes文档唯一ID添加到文件名中。然后您还可以确定文件来自哪个Notes文档

  • 在过去,我只是按照我看到的大多数程序处理它的方式来处理它。我在文件名后面加了x,其中x是一个数字。因此,如果有三个同名文件,它们将显示在文件夹中,分别为file.txt、file_1.txt、file_2.txt


您可以使用File.Exists(path)在提取之前验证文件是否存在,如果存在,则向名称中添加一些内容以使其唯一