Как загрузить виджеты изображений из ByteData во Flutter

multi_image_picker: 2.4.11 плагин возвращает List<Asset>каждый Asset имея imageData свойство, которое является ByteData,

Как я могу показать это во Флаттере?

1 ответ

Решение

Вы можете использовать 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());
  },
);

Вот функция, которая преобразует Asset -> Image

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

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

    return image;
  }
Другие вопросы по тегам