我正在尝试将文档存储模块添加到AR软件中。
我将提示用户将doc / image附加到他们的帐户。然后我会将此文件的副本放入我们的文件夹中,以便我们可以引用它而无需依赖它们将文件保留在原始位置。该系统不使用数据库,而是使用多个平面文件。
我正在寻找有关如何在将这些文件附加到我们的系统后处理这些文件的指导。
我应该如何存储这些附件?
我以为我可以将文件复制到子目录,然后将其重命名为自动生成的数字,这样我们就没有重复项了。关于这一点的坏处是,文件夹的内容可能会变得相当大。
任何人都有更好的方法吗?我应该创建目录并存储它们吗??
答案 0 :(得分:1)
此系统不使用数据库,而是使用多个平面文件。
这听起来像是一个多用户系统。你是如何处理并发访问问题的?你对此的回答将极大地影响我们在这里告诉你的任何事情。
由于您没有对其他文件做任何特殊处理来处理并发访问,我要做的是在主数据文件夹下添加一个专门用于文档存储的新文件夹,并在那里写入您的用户文件。此外,您需要担心名称冲突。为了解决这个问题,我通过将日期和用户名附加到原始文件名并获取该字符串的md5或sha1哈希来为其命名。然后将文件添加到其他数据文件,以将哈希值映射到用户的原始文件名。
答案 1 :(得分:0)
考虑到你的约束(假设总用户数量有限),我也倾向于使用“文档”文件夹 - 加上每个用户的子文件夹。每个文件名都应包含防止冲突的日期。随着时间的推移,您将不得不处理以管理方式或用户用户界面删除旧文件或过时文件。考虑为每个用户设置最大文件数或最大字节数。您还需要处理已离职用户的文件。