有什么方法可以将html
类型的文件转换为io
类型的文件吗?出于某种原因,我需要从html初始化文件,我想转换成io类型的文件,将其显示在FileImage(_itemPic)
的图像小部件中
import 'dart:html' as html;
import 'dart:io' as io;
Class AddNewItemView StatefulWidget{
..........
html.File _itemPic;
...........
Container(
decoration: BoxDecoration(
image: DecorationImage(
image: _itemPic != null
? FileImage(_itemPic) <<--- Now here I need io type file
: AssetImage(defaultItemimage),
fit: BoxFit.cover,
),
),
),
..........
}
这可能是一种变通方法。您可以先使用html阅读器将其转换为base64。然后将其解码为IO文件。
final reader = html.FileReader();
reader.readAsDataUrl(_itemPic);
reader.onLoad.first.then((res) {
final encoded = reader.result as String;
final imageBase64 = encoded.replaceFirst(RegExp(r'data:image/[^;]+;base64,'), '');// this is to remove some non necessary stuff
io.File _itemPicIoFile = io.File.fromRawPath(base64Decode(base64Image));
});
希望这能有所帮助!问候
编辑:我错过了原帖中的阅读部分。