我有一个包含 5 个图像 url 的字符串数组。我正在寻找一种从 url 获取图像的方法,然后将图像编码为 base64 字符串,最后将其插入另一个数组。
该解决方案应该适用于移动设备和网络。我正在四处寻找解决方案,并使用 File.readAsBytes、Image.toBase64String 等获得了一些技巧,但没有一个对我有用。
我有一个包含 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);
这对移动设备和网络都适用。