【发布时间】:2009-05-05 22:37:49
【问题描述】:
我有一个 .net WinForms 2.0 应用程序,它目前有一个包含大约 3000 个图像的图像库。目前我正在使用 SQLite 并将所有图像存储为具有唯一 ID 的 BLOB,这使得事情变得容易检索。
这样做的好处是最终用户不必担心安装程序会在他们的计算机上解压缩大量图像,并且在进行更新时,我可以推出一个文件供用户下载一切的新副本。文件往往相当大(目前约为 60 兆),但最终用户已经习惯了,并且该应用程序还为拨号用户提供了“无图像”模式。
所有这一切的一个缺点是生成库有时会有点棘手。数据必须转换为二进制格式,我必须确保相应的 Id 正确链接。生成库的作业也需要一段时间才能运行。
我正在升级应用程序,我想知道是否有更好的方法来执行此操作。我仍然希望保留单一文件方法,以便于向用户发送更新并保持计算机上的占用空间更小。是否有某种“便携式文件系统”或资源库可供我使用/创建,让我可以轻松地从中插入/检索图像,而不必让应用程序与之交互的数据库?
【问题讨论】:
-
图片是什么?用户数据或应用程序资源?为什么不能将它们部署为硬盘上的图像文件夹,甚至作为可选的插件安装程序?
-
应用程序资源。用户从主数据库中提取卡片的详细信息,并从另一个图像中提取相应的图像。如果可以帮助将应用程序的总文件数降至最低,我想避免使用图像文件夹。以前对图像本身的滥用存在一些担忧(长话短说),因此在这个意义上保护它们也得到了解决。
-
无论您使用什么方法,您都不会阻止用户(ab)使用图像。这是 DRM 教给我们的一课。如果您主要关心的是尽量减少文件的扩散,那么 ZIP 文件是一个很好的解决方案。
-
是的,这就是我所在的位置。我知道过去曾发生过滥用行为,但更多的是“尽职调查”游戏,更重要的是,如果我忍不住将 3000 多个文件爆炸到用户的机器上。
标签: .net winforms image filesystems