c# - 我应该将图像作为二进制信息还是作为 FS 上的路径保存到数据库本身?

标签 c# .net image sqlite path

Background information:

This application is .NET 4/C# Windows Forms using SQLite as it's backend. There is only one user using the database and in no way does it interact through a network.

我的软件需要保存与项目记录关联的图像。我应该将图像作为二进制信息保存在数据库中吗?或者我应该将图片的路径保存在文件系统上并使用它来检索它。

保存为路径时,我担心有人可能会更改图片的文件名,这实际上会破坏我的应用程序的使用。

谁能给点建议吗?通过网络交流。

最佳答案

“这取决于”。如果图像很多,那么所有 BLOB 重量可能会使备份变得越来越痛苦(实际上,可能会排除一些只支持有限大小的数据库实现)。但它有效,而且效果很好。只要您只存储相对于某个未知根的路径,文件系统就没问题,即您存储“foo/blah/blip.png”,它与配置数据结合以获得完整路径- 然后您可以轻松地重新定位路径。在某些情况下,文件系统具有更简单的备份选项,但您需要将文件系统和数据库备份结合起来。

关于c# - 我应该将图像作为二进制信息还是作为 FS 上的路径保存到数据库本身?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4087146/

相关文章:

c# - 循环序列中两个数字之间的距离

c# - 为什么在 Windows 中很难找到打印机状态?

java - 使用 BufferedImage 时 Swing HTML 渲染发生变化

c# - 如何在 listview.subitem 中添加图像

c# - WPF:从列表<Geometry>中绘制几何图形

c++ - 包装非托管 C++ 类以便 .Net 托管客户端应用程序可以使用它们的最佳方法是什么?

php - 如何将 html 和 css 转换为图像?

jquery - 想要图像翻转(第一个悬停状态)以在第二个悬停状态下与背景图像一起悬停

c# - 避免最大字符限制 C#

c# - 使用通用列表进行线程化