管理具有相同名称和不同内容的附件文件

时间:2009-10-02 08:56:52

标签: c# lotus-notes

我正在从Inbox,Send,Drafts e.t.c中提取附件。邮件。 并将它们保存在一个文件夹中。

使用以下逻辑:

How to Access attachments from Notes mail?

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

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

3 个答案:

答案 0 :(得分:0)

有几种方法:
1)总是为每个附件生成一个随机文件名(这里的负面是你将使用“更多”存储空间
2)生成文件内容的SH-256之类的哈希值,并在此之后给它起一个名称(这里的负数是散列可能需要一段时间,具体取决于文件大小)

根据你的做法,我当然会在某处保存原始文件名,以便根据电子邮件中的文件名找到它。也许如果你选择散列方法,你应该存储附加文件的电子邮件。

答案 1 :(得分:0)

其他一些想法:

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

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

答案 2 :(得分:0)

您可以使用File.Exists(路径)在解压缩之前验证文件是否存在,如果确实存在,则在名称中添加一些内容以使其唯一。