我在代码中调用一个小部件,通过图像拾取器插件显示所选图像;下面是我的代码:
Widget _imagePlaceHolder() {
if (imageSelected == null){
return Text("No File Selected!!");
} else {
Image.file(imageSelected, width: 400, height: 400);
}
}
但是我得到了这个错误:
参数类型"'PickedFile '"不能分配给参数类型' File '
位于else语句下imageSelected上
我从图库里选了一张像这样的图片:
Future _openGallery(BuildContext context) async {
var picture = await picker.getImage(source: ImageSource.gallery);
this.setState(() {
imageSelected = picture;
});}
我已经定义:已选取的档案影像已选取;最后选择器= ImagePicker();
这里出什么事了?请帮帮忙...
7条答案
按热度按时间xytpbqjk1#
Image.file()
接受File
类类型的属性,而ImagePicker().getImage()
方法返回PickedFile
类型。我们必须使用返回的
PickedFile
参数的getter.path
,并将该文件路径传递给create aFile
对象,如下所示:这可以在一行中完成,如下所示:
在此之后,您可以使用变量
imageFile
,并根据需要将其像Image.file(imageFile)
一样传递到Image.file()
内部,或者像FileImage(imageFile)
一样传递到FileImage()
内部。有关更多信息,请参见
image_picker
documentation on pub.devjhiyze9q2#
shstlldc3#
将
PickedFile imageSelected
更改为File imageSelected
,并使用ImagePicker.pickImage(source: ImageSource.gallery)
代替picker.getImage(source: ImageSource.gallery);
dgjrabp24#
或者,如果您需要完整地代码:
x6yk4ghg5#
墨菲斯的回答是正确的。
只需将
PickedFile
变量路径传递给File()
。示例:
gblwokeq6#
尝试将imageFile类型转换为PickedImage,并以类型Casting the imageFile to File返回文件,例如:- //在此处声明变量
拾取的图像图像文件;
在返回的时候:-
return图像文件(文件(图像文件路径),宽度:400,身高:400年);
我个人面临这个问题,这个解决方案解决了它。
gdx19jrr7#
试试这边...