我正在从收件箱、发送、草稿等邮件中提取附件。并将它们保存在一个文件夹中。
使用以下逻辑:
但我在这里面临的问题是。具有相同类型和名称但内容不同的附件。在当前情况下,它正在用新文件替换旧文件。
我如何为不同的邮件唯一地管理这个附件。
我正在从收件箱、发送、草稿等邮件中提取附件。并将它们保存在一个文件夹中。
使用以下逻辑:
但我在这里面临的问题是。具有相同类型和名称但内容不同的附件。在当前情况下,它正在用新文件替换旧文件。
我如何为不同的邮件唯一地管理这个附件。
有几种方法:
1)总是为每个附件生成一个随机文件名(这里的否定是你将使用“更多”的存储空间
2)生成一个像SH-256这样的文件内容的哈希,并给它一个名字在此之后(此处的负数是散列可能需要一段时间,具体取决于文件大小)
根据您的操作,我当然会将原始文件名保存在某处,以便可以根据电子邮件中的文件名找到它。也许如果您选择散列方法,您应该存储该文件附加到的电子邮件。
其他一些想法:
您可以将 Notes 文档唯一 ID 添加到文件名中。然后,您还可以确定文件来自哪个 Notes 文档。
过去,我只是按照大多数程序处理它的方式来处理它。我将 _x 附加到文件名中,其中 x 是一个数字。因此,如果存在三个同名文件,它们将在文件夹中显示为 file.txt、file_1.txt、file_2.txt。
您可以使用 File.Exists(path) 在提取之前验证文件是否存在,如果存在则在名称中添加一些内容以使其唯一。