我正在 ASP.Net 中开发一个项目,用户可以分享他们旅行的照片。用户将有不同的旅行,例如东京 - 11-01-2011,悉尼 - 19-02-2012。那么存储这些图像的最佳结构是什么?
- 将所有图像存储在一个名为“用户旅行照片”的文件夹中。
- 为每个用户的照片创建特定文件夹。
- 为每次旅行创建特定文件夹。
我的问题不仅仅是关于这个项目。我想知道网站中的图像结构应该是什么。
我正在 ASP.Net 中开发一个项目,用户可以分享他们旅行的照片。用户将有不同的旅行,例如东京 - 11-01-2011,悉尼 - 19-02-2012。那么存储这些图像的最佳结构是什么?
我的问题不仅仅是关于这个项目。我想知道网站中的图像结构应该是什么。
如果您计划最终保存大量图像,您可能需要考虑重组文件夹结构以加快图像检索速度。当系统必须查看文件系统上超过 2K 的文件列表时,将所有图像存储在一个文件夹中最终会减慢速度。
我看到它分解的一种方法是:假设您的每个站点用户都有一个唯一的 id,您可以使用它来构建您的文件夹。例如,用户的照片(id 12345)将位于 UploadedImages/1/2/3/4/5/12345 中。如果您以这种方式分解文件夹结构,系统将只需要遍历每个文件夹中最多大约 10 个子文件夹即可找到它正在寻找的那个。
这对您的项目可行吗?
在一个类似的项目中,我将我的 ASP.NET 网站图像,即徽标、页眉徽标、与未上传的内容或在我的情况下自动生成的图像(在我的情况下为图表)有关的任何内容保存在 root/images 中。我在项目的根目录中为那些添加到站点的图像创建了一个名为 GlucoseProfiles 的单独目录,它对我来说非常有用。在您的情况下,也取决于图像加载(即您的网站上是否有 < 100k .jpgs/etc),我只需创建一个新的图像目录,该目录特定于将添加到您网站的单独图像文件夹。