如何在sqlite中存储图像?

时间:2019-08-14 14:53:34

标签: sqlite flutter

我想将图像存储在数据库中,但是我不知道如何,我已经尝试过了,但是它显示了类型错误,有人可以帮我解决这个问题吗,我创建了一个具有Blob类型的图像在数据库中,这是我的代码:

 var bytes;
  var encoded1;
Future pickImage() async {
    tempStore = await ImagePicker.pickImage(source: ImageSource.gallery);
    bytes = await tempStore.readAsBytes();
    encoded1 = base64.decode(bytes);

    print(tempStore);
    //var tempStore = await ImagePicker.pickImage(source: ImageSource.camera);
    setState(() {
      pickedImage = tempStore;
      isImageLoaded = true;
    });
  }

这就是我要在数据库中插入图像的地方

final dao = Provider.of<ClientDao>(context);
                              final client = Client(
                                typeClientid: idTypeClient,
                                nom: prenomController.text,
                                prenom: nameController.text,
                                ddn: ddnController.text,
                                ville: adresseController.text,
                                ncd: numeroController.text,
                                imageDevant: encoded1,

                              );
                              dao.insertClient(client);

2 个答案:

答案 0 :(得分:0)

您需要先对字节进行编码,然后再进行存储不解码(base64.encode)

答案 1 :(得分:0)

存储图像的最佳方法是使用blob类型,base64更好地进行传输。