在颤振中将"html"类型文件转换为"io"类型文件



有什么方法可以将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));
});

希望这能有所帮助!问候

编辑:我错过了原帖中的阅读部分。

相关内容

  • 没有找到相关文章

最新更新