Я использую пакет image_picker, чтобы обрабатывать образ и потом показывать ее, когда Вы будете избраны, но, в некоторых случаях Вы функционируете правильно и в других случаях применение блокируется и когда я смотрю окно debug в части Батарейка вызовов появляется у меня эта ошибка: FlutterError (Unable to похвалите asset: /storage/emulated/0/Android/data/com.example.produmax/files/Pictures/scaled_product.jpg
Это кодекс, который я использую, чтобы обрабатывать образ
_seleccionarFoto () async {
await _procesarImagen(ImageSource.gallery);
}
_tomarFoto () async {
await _procesarImagen(ImageSource.camera);
}
_procesarImagen(ImageSource tipo) async {
foto = await ImagePicker.pickImage(
source: tipo
);
if (foto != null) {
_producto.imagePath = null;
}
setState(() { });
}
и это кодекс, чтобы показывать образ:
Widget _mostrarFoto() {
if (_producto.imagePath != null) {
final String url = utils.completeUrl(_producto.imagePath);
return FadeInImage(
image: NetworkImage(url),
placeholder: AssetImage('assets/jar-loading.gif'),
height: ScreenUtil.instance.setHeight(300.0),
fit: BoxFit.contain
);
} else {
return Image(
image: AssetImage( foto?.path ?? 'assets/no-image.png'),
height: ScreenUtil.instance.setHeight(300.0),
fit: BoxFit.cover,
);
}
}
и именно здесь я использую функции _seleccionarFoto () и _tomarFoto ()
AssetImage
только служит для того, чтобы загрузить imГЎgenes, что estГЎn внутри твоего проекта Flutter. В случае ImagePicker
estГЎs получая imГЎgenes, что находятся прямо в устройстве, поэтому этот полный маршрут.
, Чтобы это решать, ты можешь использовать FileImage
, так как ты имеешь доступ прямо к file.
Image(
image: foto != null ? FileImage( foto) : AssetImage('assets/no-image.png'),
height: ScreenUtil.instance.setHeight(300.0),
fit: BoxFit.cover,
);