我有一个包含5个图像url的字符串数组。我正在寻找一种方法,从url中获取图像,然后将图像编码为base64字符串,最后将其插入另一个数组。
该解决方案应适用于颤振中的移动和网页。我一直在寻找解决方案,并使用File.readAsBytes、Image.toBase64String等获得了一些技巧,但它们都不适用于我。
最后我找到了使用http包的解决方案
import 'package:http/http.dart' as http;
Future<String> networkImageToBase64(String imageUrl) async {
http.Response response = await http.get(imageUrl);
final bytes = response?.bodyBytes;
return (bytes != null ? base64Encode(bytes) : null);
}
示例:
final imgBase64Str = await networkImageToBase64('IMAGE_URL');
print(imgBase64Str);
这对移动设备和网络都非常适用。