我正在try 将我的assets资源 中拥有的WebP图像插入到SQFlite数据库. 但我不知道如何将assets资源 图像转换为Uint8List,这是我的数据库中的数据类型. 我该怎么做呢?

我试过这个:

Future<Uint8List> convert() async {
 final ByteData bytes = await rootBundle.load('assets/ab.webp');
 final Uint8List list = bytes.buffer.asUint8List();
 return list;
}

Uint8List list = convert();

但我得到以下错误: 类型:future 函数()

不能将‘Future’类型的值赋给‘Uint8List’类型的变量. try 更改变量的类型,或将右侧类型强制转换为"Uint8List".

先谢谢你

推荐答案

convert()是一个异步函数,所以当你想要使用它的时候,你应该等待结果,而且你的转换函数也不会重新执行任何事情.

试试这个:

Future<Uint8List> convert() async {
 final ByteData bytes = await rootBundle.load('assets/image.webp');
 final Uint8List list = bytes.buffer.asUint8List();
 return list;
}

然后像这样使用它:

Uint8List list = await convert();

Flutter相关问答推荐

如何解决这个错误,同时获得的高度的小部件,因此高度的可用工作区域在Flutter ?

获取屏幕大小的滚动视图与动态大小?

Flutter 动画列表一次构建所有项目,而不是仅构建可见的项目

TextFormfield无法与自动路由一起正常工作

在Flutter TextField中计算子字符串位置

运行调试flutter应用程序时出错:B/BL超出范围(最大+/-128MB)到'';

如何在巡逻测试期间重新启动dart 侧应用程序状态?

了解多Provider 和流

即使小部件比Flutter 中的屏幕更宽,也始终显示滚动条

如何在Flutter中动态绘制一条从A点到B点的线?

更改 flutter listview 中的布局

Flutter blue plus 库,当try 从 esp32 驱动程序获取 PlatformException 时读取特性

Flutter Dart 功能弹出错误的小部件?

从子类调用超类的超方法

当我将主题更改为深色然后返回浅色模式时,Getx 会Flutter 更改主题,它不会加载我的自定义主题

Flutter 如何使用 ClipPath 编辑容器的顶部?

如何在dart中编写多个条件?

Firebase Firestore 查询

Flutter - 如何调用此函数?

Flutter GetX:Get.put 在 Widget 中的什么位置?