将图像文件存储在对象中(之后不需要该文件)

本文关键字:文件 之后 不需要 对象 图像 存储 | 更新日期: 2023-09-27 18:24:57

我到处找,但似乎找不到这个问题的解决方案。

我正在制作一个个人应用程序来存储信息,我希望存储在DB文件中的一件事是每个条目的缩略图。我已经从文件中加载了图片,但我希望能够保存数据库,而不需要文件在之后出现。换句话说,我希望将图像变量与其文件分离,但仍将图像数据保留在该变量中。

我真的没有一个片段可以发布,因为我不知道如何处理这个问题。如有任何帮助,我们将不胜感激!我使用picturebox加载图像,并且在我的对象中有一个图像变量,但当我将文件存储在该图像中时,它仍然需要.jpg作为我选择它的位置。。。

EDIT:我应该更具体一点,我没有使用SQL或类似的东西,我只是将用于存储数据库的对象序列化到一个文件中。我想我使用的是"db"在更普遍的意义上。。。

谢谢!

将图像文件存储在对象中(之后不需要该文件)

您可以尝试以下方法之一:

  1. 使用WPF和System.Windows.Media.Imaging命名空间
  2. 将COM Interop与WIC接口一起使用(请参阅http://code.msdn.microsoft.com/wictools对于包含C#的所有API的导出的WicCop)
  3. 如果您想做一些基本的事情,比如从磁盘读取图像并将其写入另一个流以保存在DB中,那么System.Drawing.Image类也会对您有所帮助

这将取决于您使用的数据库类型,但。。。

如果你使用的是Microsoft SQL Server,并且文件的大小不超过最大值(2 gig),那么我会使用VarBinary(最大值)。

然后您只需要将字节读回图像源中。Telerik有一个很酷的二进制图像控件,可以让你向它抛出原始二进制数据。