我目前正面临上级布置的一项挑战。 当前的任务涉及存储大量图像(每个图像大小约为 10 MB),以及随后根据 Web 浏览器的请求将这些图像传送给客户端。这项工作的首选技术堆栈是 Java 与 MongoDB 的结合。 经过初步审查,我似乎有两个主要选择需要考虑:
选项#1: 使用 gridFS 将图像直接存储在 MongoDB 中。
选项#2: 将图像存储在文件系统上并利用数据库来存储索引和其他相关元数据。
我将非常感谢有关此事的任何见解或建议。如果可行,还请提供类似项目的链接以供参考。 预先感谢您的帮助。
还没有尝试过任何东西。只是想找出最好的解决方案是什么。
如果保证大小不会覆盖文档最大值,则始终可以将实际图片存储为二进制文件。
请参阅此线程以进一步阅读有关 gridFS 和存储为二进制的内容:
https://www.mongodb.com/community/forums/t/process-of-storing-images-in-mongodb/15093
最可行的方法是在数据库中存储图像哈希值或名称来识别实际文件。因此,如果您需要刷新图像,您可以通过文件更改而不是数据库更新来完成。
您也可以将图像直接存储在数据库中,但是这样您将无法将数据库与图像分开。如果数据库中只有参考,那么您可以将图像存储在一个存储位置,将数据库存储在另一个存储位置。