Flutter中如何将MAUI传递的Base64String转换为Uint8List?
将MAUI传递的Base64字符串转换为Flutter的Uint8List
你只需要利用Flutter自带的dart:convert库中的base64.decode()方法,就能把接收的Base64字符串直接转换成Uint8List,替换原来从资源加载的逻辑即可,步骤如下:
- 导入
dart:convert包(base64解码方法包含在这个包里) - 拿到从MAUI Intent传递过来的Base64字符串
- 调用
base64.decode()方法将其转为Uint8List - 后续的图片解码逻辑和原有代码保持一致
替换后的完整代码示例:
import 'dart:convert'; import 'package:image/image.dart' as img; // 假设receivedBase64是你从MAUI那边接收到的Base64字符串 String receivedBase64 = "替换为实际接收的Base64内容"; // 转换Base64到Uint8List final Uint8List bytesImg = base64.decode(receivedBase64); // 解码图片,逻辑和原有代码一致 img.Image? image = img.decodeImage(bytesImg);
注意事项
如果MAUI传递的Base64字符串带有类似data:image/jpeg;base64,这样的前缀,需要先去除前缀再解码,示例代码如下:
// 拆分并获取纯Base64部分 String pureBase64 = receivedBase64.split(',').last; final Uint8List bytesImg = base64.decode(pureBase64);
内容的提问来源于stack exchange,提问作者Ani
相关产品推荐
相关产品推荐

