这个问题在这里已经有了答案:
11 年前关闭。
Possible Duplicate:
storing uploaded photos and documents - filesystem vs database blob
我开始开发一个网络应用程序,其主要目的是显示照片。用户也可以上传照片。
出现的第一个问题是照片的存储位置:文件系统还是数据库。
我将使用 Windows 设备来托管该站点。数据库是 MySQL,后端代码是使用 ASP.NET MVC 的 C#。
最佳答案
文件系统,当然,除非你的目标是在 thedailywtf 上写一个故事。最简单的方法是按照可以从文件本身派生的属性(例如其 SHA-1 哈希)来组织照片。然后只需将哈希存储在数据库中,附加到照片的主键和其他属性(上传者、上传日期等)。
将文件系统上的照片分开也是一个好主意,这样您就不会在一个目录中留下数百万个文件。所以你会有这样的事情:
storage/00/e4/f56c0de1c61fdb926e79e8a0a65bd12930c9.jpg
storage/25/9a/ec1c55bfb660548a6770238668c4b117d92f.jpg
storage/5d/d5/4b01d98f17a9ad9dd1526b49ba39b5aa37a1.jpg
storage/63/49/6f740b6c284ce6685dc17d473a7360ace249.jpg
storage/b1/75/066d178188dde110149a8422ab651b0ee615.jpg
storage/b1/20/a2b7d02b7b0c43530677ab06235382a37e20.jpg
storage/da/39/a3ee5e6b4b0d3255bfef95601890afd80709.jpg
如果您迁移到分片存储,这也很容易移植。
关于architecture - 我应该在哪里存储照片?文件系统还是数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1546485/