如何将图像保存到sqlite数据库

时间:2017-04-25 14:59:05

标签: c# xamarin xamarin.android xamarin.forms

在我的classe中,我有一种搜索照片库中的图像并接收从手机相机拍摄的图像的方法,我现在需要将此图像保存在sqlite数据库中。我正在使用像BLOB这样的数据库字段,但不像在bity []中序列化图像或在decode64中转换以写入数据库。

我想知道是否有人有任何传递xaramin android的示例我发布接收图像的方法

public abstract class HandlerChain<V extends MyObject, T extends MyObjectHandler<V>>
{
    private List<T> handlers;

    public List<V> doChain(List<V> objects)
    {
        for (T handler : handlers)
        {
            objects=handler.handle(objects);
        }
        return objects;
    }
}

1 个答案:

答案 0 :(得分:0)

而不是存储&amp;检索图像(byte [])作为blob从sqlite db转换为base64string并将图像作为字符串存储在sqlite中,同时检索转换接收到的base64string从sqlite到image(byte [])

Base64到位图:

public Bitmap Base64ToBitmap(String base64String)
{
    byte[] imageAsBytes = Base64.Decode(base64String, Base64Flags.Default);
    return BitmapFactory.DecodeByteArray(imageAsBytes, 0, imageAsBytes.Length);
}

Bitmap到Base64:

public String BitmapToBase64(Bitmap bitmap)
{
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    bitmap.Compress(Bitmap.CompressFormat.Png, 100, byteArrayOutputStream);
    byte[] byteArray = byteArrayOutputStream.ToByteArray();
    return Base64.EncodeToString(byteArray, Base64Flags.Default);
}