从 URL 获取图像并将其转换为 base64 字符串 - Flutter

iAk*_*kki 2 base64 image dart flutter tobase64string

我有一个包含 5 个图像 url 的字符串数组。我正在寻找一种从 url 获取图像的方法,然后将图像编码为 base64 字符串,最后将其插入到另一个数组中。

该解决方案应该适用于颤振中的移动和网络。我一直在寻找解决方案,并使用 File.readAsBytes、Image.toBase64String 等获得了一些技巧,但没有一个对我有用。

iAk*_*kki 6

最后我找到了使用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);
}
Run Code Online (Sandbox Code Playgroud)

例子:

final imgBase64Str = await networkImageToBase64('IMAGE_URL');
print(imgBase64Str);
Run Code Online (Sandbox Code Playgroud)

这对于移动设备和网络都非常有效。