2

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

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

4

1 回答 1

8

最后我找到了使用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);

这对移动设备和网络都适用。

于 2020-03-12T09:51:16.750 回答