如何将byteData保存到临时路径?

时间:2020-06-28 15:00:45

标签: flutter dart

我正在使用RenderRepaintBoundary将文本转换为图像。

如何将其保存到本地存储中,然后再将其发送到API。

Future<Uint8List> _capturePng(int index) async {
    try {
      print('inside');
      RenderRepaintBoundary boundary =
          _globalKey[index].currentContext.findRenderObject();
      ui.Image image = await boundary.toImage(pixelRatio: 3.0);
      ByteData byteData =
          await image.toByteData(format: ui.ImageByteFormat.png);
      var pngBytes = byteData.buffer.asUint8List();
      var bs64 = base64Encode(pngBytes);
      var fileImage = Image.memory(pngBytes);

      final file = File('${(await getTemporaryDirectory()).path}/$WHAT_TO_PUT_HERE');
      print(file.path);
      setState(() {});
      return pngBytes;
    } catch (e) {
      print(e);
    }
  }

0 个答案:

没有答案