如何在flatterweb中显示dart:html文件图像?
我通过以下方式从用户设备上载文件:如何在flatterweb中显示dart:html文件图像?,html,image,flutter,dart,flutter-web,Html,Image,Flutter,Dart,Flutter Web,我通过以下方式从用户设备上载文件: void uploadImage() async { html.InputElement uploadInput = html.FileUploadInputElement(); uploadInput.click(); uploadInput.onChange.listen( (changeEvent) { final file = uploadInput.files.first; fina
void uploadImage() async {
html.InputElement uploadInput = html.FileUploadInputElement();
uploadInput.click();
uploadInput.onChange.listen(
(changeEvent) {
final file = uploadInput.files.first;
final reader = html.FileReader();
reader.readAsDataUrl(file);
reader.onLoadEnd.listen(
(loadEndEvent) async {
setState(() {
image = file; //image is a dart:html File object, it's a field of my statefulwidget
});
},
);
},
);
}
}
我想显示这个图像。我尝试使用Image.exe文件:
Container(
width: 100,
height: 100,
child: Image.file(
image,
fit: BoxFit.contain,
),
),
但是,这给了我一个错误:
无法将参数类型“文件”(其中文件在C:\Users\Asus\Documents\Flatter\bin\cache\pkg\sky\u engine\lib\html\html\u dart2js.dart中定义)分配给参数类型“文件”(其中文件在C:\Users\Asus\Documents\Flatter\bin\cache\pkg\sky\u engine\lib\io\File.dart中定义)。dart参数类型\u不可分配
html\u dart2js.dart(15975,7):文件在C:\Users\Asus\Documents\flatter\bin\cache\pkg\sky\u engine\lib\html\html\u dart2js.dart中定义
dart(241,16):文件在C:\Users\Asus\Documents\flatter\bin\cache\pkg\sky\u engine\lib\io\file.dart中定义
偷窥问题(Alt+F8)
没有可用的快速修复方法
有没有办法将dart:html文件转换为dart:io文件?或者我应该尝试另一种显示图像的方式吗?在这种情况下,如何显示dart:html文件?
提前谢谢你的帮助 一种解决方案是使用该软件包 假设您的
html.File
是可变的myfile
,以下内容适用于我:
import 'package:flutter/painting.dart'; // NetworkImage
import 'package:image_whisperer/image_whisperer.dart'; // BlobImage
...
BlobImage blobImage = new BlobImage(myfile, name: myfile.name);
final image = NetworkImage(blobImage.url);
// Use image here
...
你得到答案了吗?没有,我还没有收到答案。