Извлечь изображение из URL и преобразовать его в строку base64 - Flutter - PullRequest
2 голосов
/ 06 марта 2020

У меня есть массив строк, содержащий 5 URL-адресов изображений. Я ищу способ извлечь изображение из URL, затем закодировать изображение в виде строки base64 и, наконец, вставить его в другой массив.

Решение должно работать как для мобильных устройств, так и для веб-сайтов во флаттере. Я искал решение и получил некоторые хитрости, используя File.readAsBytes, Image.toBase64String и т. Д. c., Но ни один из них не помог мне.

1 Ответ

1 голос
/ 12 марта 2020

Наконец-то я нашел решение, используя 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);

Это прекрасно работает как для мобильных устройств, так и для веб.

...