ネットワーク イメージをファイルに変換しようとしていますが、その最初の部分はそれを Uint8List に変換することです。アセット イメージの 1 つでこれを実行する方法は次のとおりです...
final ByteData bytes = await rootBundle.load('assests/logo');
final Uint8List list = bytes.buffer.asUint8List();
final tempDir = await getTemporaryDirectory();
final file = await new File('${tempDir.path}/image.jpg').create();
file.writeAsBytesSync(list);
どうすればいいですかImage.network(imageUrl.com/image)
ベストアンサー1
最も簡単な方法は、画像 URL を使用して http 応答を取得し、response.bodyBytes
そこにデータを含めることですUint8List
。
http.Response response = await http.get(
'https://flutter.io/images/flutter-mark-square-100.png',
);
response.bodyBytes //Uint8List
これで、base64エンコードされた文字列に変換するなどの操作が可能になりますbase64.encode(response.bodyBytes);
アップデート: http の新しいバージョンでは、Uri.parse() を追加する必要があります
。例:
http.Response response = await http.get(
Uri.parse('https://flutter.io/images/flutter-mark-square-100.png'),
);