flutter - 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 中做错了什么?
解决方案
data:image/jpeg;base64
在字符串开头添加图像
像这样
FlutterShareMe().shareToWhatsApp(base64Image: 'data:image/jpeg;base64,${base64Encode(_imageFile)}');
推荐阅读
- java - 这是实施recyclerview的正确方法吗?
- ios - openVPN 网络扩展数据包隧道提供商未启动 VPN 隧道
- javascript - 从 AWS 数据库查询字符串搜索
- instagram - instagram_graph_user_media 和 instagram_graph_user_profile 权限仅适用于测试用户
- kubernetes - 如何将启动参数传递到我的 kubernetes pod 服务
- python-3.x - 带有 gmt 的时间数据与 pandas 转换的格式输入不匹配
- c++ - LNK2005 类 X 已在 Y.obj 中定义
- cmd - 使用从 .TIF 到 .JPG 的“gdal_translate”如何将背景设置为白色?
- r - ggplot facet_grid,给出奇怪情节的代码
- mysql - 使用来自其他表的两个不同 ID 从同一列中获取不同的名称