首页 > 解决方案 > Flutter base64图像字符串问题

问题描述

我正在截取我的小部件的屏幕截图并转换为 base64 字符串并作为图像发送到 whatsapp。但问题是当我发送它不显示图像但如果我使用硬编码插件提供的字符串它工作正常。

这是我的代码

   screenshotController
        .capture(delay: Duration(milliseconds: 10))
        .then((Uint8List image) async {
      _imageFile = image;
      print(base64Encode(_imageFile));

      FlutterShareMe()
          .shareToWhatsApp(base64Image: base64Encode(_imageFile));

    }).catchError((onError) {
      print(onError);
    });

它没有在什么应用程序上显示图像,但如果我使用插件提供的硬编码字符串,像这样

String base64Image =
  "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4QAqRXhpZgAASUkqAAgAAAABADEBAgAHAAAAGgAAAAAAAABHb29nbGUAAP/bAIQAAwICCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICggICAgJCQkICA0NCggNCAgJCAEDBAQGB

如果我尝试使用这个字符串太长但要显示这个只是选择字符串块那么它工作正常我在编码的 base64 中做错了什么?

标签: flutterdart

解决方案


data:image/jpeg;base64在字符串开头添加图像

像这样

FlutterShareMe().shareToWhatsApp(base64Image: 'data:image/jpeg;base64,${base64Encode(_imageFile)}');

推荐阅读