所以我正在使用一个将图像存储在数据库中的应用程序.你对此有何看法?我更像是一种在文件系统中存储位置的类型,而不是直接将它存储在数据库中.
您认为利弊是什么?
我的问题相当通用,我知道可能没有100%的答案.我正在构建一个ASP .NET Web解决方案,其中包含大量图片,并希望有相当多的流量.我确实想要达到性能.
我应该将图片保存在数据库或文件系统中吗?无论答案如何,我都更感兴趣为什么选择一种特定的方式.
非常感谢,Stefan
DUPLICATE:在DB中存储图像 - 是或否?,如何在文件系统中存储图像,存储少量图像:blob还是fs?可能还有其他一些.
评论:感谢许多好的答案.即使我喜欢使用100%数据库驱动的解决方案,我也会选择基于文件的解决方案.似乎今天有很好的解决方案来做我想要的数据库等,但我有一些理由不这样做.
我将使用托管解决方案,我有大量的存储空间(10gb)但数据库只有300mb.在DB中额外存储会花费很多.
我不是数据库专家,也不能控制数据库的设置.基于数据库的解决方案可能需要自定义配置.
如果我们将在我们自己的服务器上运行该站点,我可能会考虑基于数据库的解决方案.谢谢,斯蒂芬
在Web应用程序的上下文中,我的老板总是说在数据库中引用了一个图像,而不是图像本身.我倾向于同意在数据库中存储网址与图像本身是一个好主意,但在我现在工作的地方,我们在数据库中存储了大量图像.
我能想到的唯一原因可能是它更安全吗?你不希望有人直接链接到网址吗?但如果是这种情况,您可以随时让网站/服务器处理图像,例如asp.net中的处理程序,以便用户需要进行身份验证才能查看图像.我也在考虑从数据库中提取图像会损害性能.将图像存储在数据库中可能是一个好/不太好的想法的任何其他原因?
完全重复: 用户映像:数据库还是文件系统存储?
完全重复: 在数据库中存储图像:是或不是?
完全重复: 我应该将我的图像存储在数据库还是文件夹中?
确切重复: 您是否将二进制数据存储在数据库或文件夹中?
完全重复:将 图片存储为Web应用程序的文件或数据库?
确切重复: 存储少量图像:blob还是fs?
精确复制: 将图像存储在文件系统或数据库中?
完全重复: 用户映像:数据库还是文件系统存储?
完全重复: 在数据库中存储图像:是或不是?
完全重复: 我应该将我的图像存储在数据库还是文件夹中?
确切重复: 您是否将二进制数据存储在数据库或文件夹中?
完全重复:将 图片存储为Web应用程序的文件或数据库?
确切重复: 存储少量图像:blob还是fs?
我必须存储用户的个人资料图片(100px*100px)存储它的最佳方式是什么?数据库或系统文件?哪一个更好,更快,更安全......?
可能重复:
在DB中存储图像 - 是或否?
多年来,我被告知不要将图像存储在数据库中,也不要将任何大型BLOB存储在数据库中.虽然我可以理解为什么数据库没有/没有效率,我从来没有理解为什么他们不能.如果我可以将文件放在某处并引用它,为什么数据库引擎也不能这样做.我很高兴Damien Katz在最近的Stack Overflow播客中提到它,Joel Spolsky和Jeff Atwood,至少默默地同意了.
我一直在阅读Microsoft SQL Server 2008应该能够有效处理BLOB的提示,这是真的吗?如果是这样,有什么阻止我们在那里存储图像并摆脱一个问题?我能想到的一件事是,虽然图像可以很快地由静态Web服务器提供,如果它是某个文件,当它在数据库中时,它必须从数据库传输到Web服务器应用程序(这可能比静态Web服务器)然后它被服务.不应该缓存帮助/解决最后一个问题?
我无法决定应该遵循哪一个.你们能提出一些意见吗?我应该将我的图像存储在文件系统还是数据库中?(我想阻止别人偷我的照片)
当您回答这个问题时,请包括安全性,性能等的比较.
谢谢.
完全重复: 用户映像:数据库还是文件系统存储?
完全重复: 在数据库中存储图像:是或不是?
完全重复: 我应该将我的图像存储在数据库还是文件夹中?
确切重复: 您是否将二进制数据存储在数据库或文件夹中?
完全重复:将 图片存储为Web应用程序的文件或数据库?
确切重复: 存储少量图像:blob还是fs?
精确复制: 将图像存储在文件系统或数据库中?
背景资料:
该应用程序是使用 SQLite 作为后端的 .NET 4/C# Windows 窗体。只有一个用户使用该数据库,并且绝不通过网络进行交互。
我的软件需要保存与项目记录关联的图像。我应该将图像作为二进制信息保存在数据库本身中吗?或者我应该将图片的路径保存在文件系统上并使用它来检索它。
另存为路径时我担心的是有人可能会更改图片的文件名,这基本上会破坏我的应用程序的使用。
有人可以给一些建议吗?通过网络互动。
我想将图像和其他文档以及每个图像的缩略图存储在PostgreSQL表中。原始文档和缩略图将是两个单独的bytea字段。PostgreSQL在Linux上运行。
因为图像数据可能来自几个不同的应用程序,所以我想将PostgreSQL中的图像处理代码(用于创建缩略图)作为一个函数,而不是每个单独的应用程序都必须创建缩略图。PostgreSQL有什么方法可以创建图像的缩略图?
database ×6
image ×5
blob ×3
.net ×2
filesystems ×2
asp.net ×1
c# ×1
path ×1
performance ×1
postgresql ×1
sql ×1
sqlite ×1
storage ×1
theory ×1