从sqlite数据库中获取图像



请帮助我,我已经保存在sqlite图像Uint8List作为数据库中的文本,现在我想显示它,我不知道如何与未来的建设者获取。我有DBHElper功能,但不知道如何获得该图像,并显示它与FutureBuilder。颤振

getFromGallery(ImageSource source) async {
final ImagePicker imagePicker = ImagePicker();
XFile? file = await imagePicker.pickImage(source: source);
if (file != null) {
return await file.readAsBytes();
}
}
void selectImage() async {
Uint8List imageFile = await getFromGallery(ImageSource.gallery);
setState(() {
_image = imageFile;
});
}

这个函数将图像保存到sqlite

另存为TEXT

String imageText = String.fromCharCodes(_image);

并转换回

var imageFile = Uint8List.fromList(imageText.codeUnits);
class ImageDisplayWidget extends StatelessWidget {
final int imageId;
final DBHelper dbHelper = DBHelper();
ImageDisplayWidget({required this.imageId});
@override
Widget build(BuildContext context) {
return FutureBuilder<Uint8List>(
future: dbHelper.getImage(imageId),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Image.memory(snapshot.data!);
} else {
return Placeholder();
}
},
);
}
}

在本例中,假设DBHelper有一个名为getImage的方法,该方法接受一个imageId参数并返回一个Future,用于从数据库中检索图像数据。ImageDisplayWidget接受一个imageId参数,并使用FutureBuilder异步检索和显示图像数据。