如何在 Flutter 中从 ByteData 加载图像小部件

How to load Image widgets from ByteData in Flutter

multi_image_picker: 2.4.11 插件 returns 一个 List<Asset>,每个 Asset 都有一个 imageData 属性 即 ByteData .

如何在 Flutter 中显示这些内容?

您可以使用 Image.memory 构造函数。

List<Asset> assets = ...; // use multi_image_picker to get the assets

return ListView.builder(
  padding: EdgeInsets.all(8.0),
  itemExtent: assets.length,
  itemBuilder: (BuildContext context, int index) {
    return Image.memory(assets[index].imageData.buffer.asUint8List());
  },
);

这是将资产 -> 图像转换的函数

  Future<Image> assetThumbToImage(Asset asset) async {
    final ByteData byteData = await asset.getByteData();

    final Image image = Image.memory(byteData.buffer.asUint8List());

    return image;
  }