Как получить Flutter Uint8List из сетевого образа? - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь преобразовать сетевой образ в файл, и первая часть - преобразовать его в Uint8List. Вот как я делаю это с 1 из моих изображений активов ...

      final ByteData bytes = await rootBundle.load('assests/logo');
      final Uint8List list = bytes.buffer.asUint8List();

      final tempDir = await getTemporaryDirectory();
      final file = await new File('${tempDir.path}/image.jpg').create();
      file.writeAsBytesSync(list);

Как я могу сделать это с Image.network(imageUrl.com/image)

1 Ответ

0 голосов
/ 07 ноября 2018
  void initState() {
    super.initState();
    var sunImage = new NetworkImage(
        "https://resources.ninghao.org/images/childhood-in-a-picture.jpg");
    sunImage.obtainKey(new ImageConfiguration()).then((val) {
      var load = sunImage.load(val);
      load.addListener((listener, err) async {
        setState(() => image = listener);
      });
    });
  }

См. Также https://github.com/flutter/flutter/issues/23761#issuecomment-434606683

Тогда вы можете использовать image.toByteData().buffer.asUInt8List()

См. Также https://docs.flutter.io/flutter/dart-ui/Image/toByteData.html

...