Я хочу обновить изображение, используя функцию, но оно всегда говорит, что Future не является подтипом типа ImageProvider.
Функция является следующей функцией, которую она будет вызывать поставщиком изображений в дереве виджетов. Она отлично работает, когда используя ImageFile, который выбирается из провайдера изображений. Но я скопировал этот файл на диск и получил, что он не работает.
_decideImageView(){
if(imageFile== null){
return AssetImage("assets/example.jpeg");
}else{
return AssetImage('$_localPath/name.jpg');
}
Рабочий один
_decideImageView(){
if(imageFile== null){
return AssetImage("assets/example.jpeg");
}else{
return FileImage(imageFile);
}
}
Выбор изображения с помощью этой функции .
_openGallery(BuildContext context) async{
var picture = await ImagePicker.pickImage(source: ImageSource.gallery);
this.setState((){
imageFile = picture;
});
Directory pathd = await getApplicationDocumentsDirectory();
String path =pathd.path;
final File newImage = await imageFile.copy('$path/name.jpg');
Navigator.of(context).pop();
}
Я предоставил каталог приложения для main.dart, используя
static final _localPath = getApplicationDocumentsDirectory();