ネットワークイメージをファイルに変換しようとしていますが、その最初の部分は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)
でこれを行うにはどうすればよいですか
_ void initState() {
super.initState();
var sunImage = new NetworkImage(
"https://resources.ninghao.org/images/childhood-in-a-picture.jpg");
sunImage.obtainKey(new ImageConfiguration()).then((val) {
var load = sunImage.load(val);
load.addListener((listener, err) async {
setState(() => image = listener);
});
});
}
_
参照してください https://github.com/flutter/flutter/issues/23761#issuecomment-43460668
次に、image.toByteData().buffer.asUInt8List()
を使用できます
https://docs.flutter.io/flutter/Dart-ui/Image/toByteData.html も参照してください
画像urlと_response.bodyBytes
_を使用してhttp応答を取得する最も簡単な方法は、_Uint8List
_のデータを含むことです。
_http.Response response = await http.get(
'https://flutter.io/images/flutter-mark-square-100.png',
);
response.bodyBytes //Uint8List
_
これで、base64エンコード文字列base64.encode(response.bodyBytes);
への変換などを行うことができます