如何在sqlite表中存储图片?

时间:2013-04-23 07:44:25

标签: sqlite xamarin.android blob mvvmcross

我正在尝试在sqlite表中存储图片。我正在使用mvvmcross vnext及其插件sqlite。

我有这个类Image数据库中的表“Image”:

public class Image : Model
{
    [IsNullable(false)]
    public int ImageID { get; set; }

    [IsNullable(false), MaxLength(100)]
    public string UrlImage { get; set; }

    [IsNullable(false), MaxLength(100)]
    public string Name { get; set; }
}

我需要为图片数据添加一个属性。 我是以byte [ ]格式存储图片吗? (我听说过“BLOB”) 使用ORM可以做到这一点吗?或者我需要直接使用sql查询吗?

感谢您的帮助

2 个答案:

答案 0 :(得分:3)

您可以将文件(包括图像)存储在byte [max]列中。读取映像文件的字节并将其写入数据库中的该列。

答案 1 :(得分:2)

对于SQLite-net,这个测试类提供了一些读取写字节数组的好例子 - https://github.com/praeclarum/sqlite-net/blob/master/tests/ByteArrayTest.cs

它使用如下数据类:

public class ByteArrayClass
{
    [PrimaryKey, AutoIncrement]
    public int ID { get; set; }

    public byte[] bytes { get; set; }
}