Web applications 如何正确组织web上的媒体文件和文件夹

Web applications 如何正确组织web上的媒体文件和文件夹,web-applications,filesystems,media,Web Applications,Filesystems,Media,我正在创建我的web应用程序,需要您关于组织媒体文件和文件夹的建议。所以我现在看到的是这样的结构: 在根目录中有images/myappName/文件夹,我将在其中保存与此应用程序相关的所有文件。这个应用程序将有不同的帖子,每个帖子可以有几个图像(6~10),所以我不知道如何正确地保存部分。我有两个选择: 1) 我可以为每篇文章创建每个文件夹,在images/myappName/中为它们命名ID,并将每篇文章的图像保存在它们的文件夹下,就像如果帖子的ID是1154,那么图像容器文件夹将是imag

我正在创建我的web应用程序,需要您关于组织媒体文件和文件夹的建议。所以我现在看到的是这样的结构:

在根目录中有images/myappName/文件夹,我将在其中保存与此应用程序相关的所有文件。这个应用程序将有不同的帖子,每个帖子可以有几个图像(6~10),所以我不知道如何正确地保存部分。我有两个选择:

1) 我可以为每篇文章创建每个文件夹,在images/myappName/中为它们命名ID,并将每篇文章的图像保存在它们的文件夹下,就像如果帖子的ID是1154,那么图像容器文件夹将是images/myappName/1154/example.jpg

2) 将所有图像保存在同一位置,但其名称将以其ID开头。例如,如果post ID为1154,则图像名称将为images/myappName/1154_example.jpg


那你推荐什么呢?如果你的应用程序要存储用户的图像和文件,你应该考虑把这些存储在一个DB中,而不是使用文件系统,所以如果有一天你决定集群你的应用程序,它可以缩放。
更新-如果您不想存储blob,您可以在db中存储文件元数据。因此,您可以自由地向文件添加标记,而无需担心这些文件必须如何在文件系统中进行物理组织

哇,我从未听说过这样的想法,我对此很感兴趣。我的另一个应用程序,在同一个域下,将使用户能够上传和保存图像,但在这个应用程序上,只有管理员才能上传和存储帖子的图像。那么对于LOB,您建议使用另一个mysql数据库还是同一个数据库但不同的表?同一个篮子中的所有鸡蛋=如果表出现任何问题,您将不得不停止所有应用程序;-)“同一篮子里的所有鸡蛋”->我想你是说BLOB,但如果我决定使用文件系统,你会从上面推荐哪个选项:相同的文件夹,还是每个帖子使用不同的文件夹?如果你每个应用都有一个实例,那么当你需要停止每个应用进行维护时,你可以关闭每个实例。另一方面,如果您将所有内容都存储在文件系统中,那么它只是一个篮子,您将丢失所有内容。而且在集群环境中更难扩展。即使是数据库,您也可以进行集群,从而最大限度地减少停机时间。对于一个文件系统,我认为它更糟糕