在 Flutter 中从图库中选取图像时出现问题

Having issue when pick image from gallery in Flutter

我是 Flutter 新手。 我正在使用以下内容从图库中挑选图像。 第一次,我得到了提到的异常。 获得异常后,如果我调整图像大小,加载图像时不会遇到任何问题。 我不确定是什么导致了这个问题。

GetImage

final pickedFile = await picker.getImage(source: ImageSource.gallery );

   setState(() {
     if(pickedFile != null){
       _image=File(pickedFile.path);
       print(_image.path);
     }else{
       print("no Image selected");
     }

   });

显示图片

class CameraChild extends StatelessWidget{
  String imagePath = null;

  CameraChild(File image){
    if(image != null){
      imagePath = image.path;
    }
  }
  @override
  Widget build(BuildContext context){
    AssetImage assetImage;
    if(imagePath == null){
      assetImage=AssetImage('images/camera_child.png');
    }else{
      assetImage=AssetImage(imagePath);
      
    }
    Image image = new Image(image: assetImage, width: 90, height: 90,);
    //return Container(child: image,);
    return Container(
      child: ClipRRect(
        borderRadius: BorderRadius.circular(45),
        child: image,
      ),
    );
  }
}

异常:

════════图片资源服务捕获到异常═══════════════════════════════ ═════════════════ 抛出以下断言来解析图像编解码器: 无法加载资产:/data/user/0/com.sixdrops.drmom/cache/image_picker1457837975547141122.jpg

抛出异常时,这是堆栈: #0 PlatformAssetBundle.load(包:flutter/src/services/asset_bundle.dart:225:7)

#1 AssetBundleImageProvider._loadAsync(包:flutter/src/painting/image_provider.dart:668:31) #2 AssetBundleImageProvider.load(包:flutter/src/painting/image_provider.dart:651:14) #3 ImageProvider.resolveStreamForKey。 (包:flutter/src/painting/image_provider.dart:504:13) ... 图片提供者:AssetImage(bundle: null, name: "/data/user/0/com.sixdrops.drmom/cache/image_picker1457837975547141122.jpg") 图片键:AssetBundleImageKey(bundle: PlatformAssetBundle#2ea2b(), name: "/data/user/0/com.sixdrops.drmom/cache/image_picker1457837975547141122.jpg", scale: 1.0) ══════════════════════════════════════════════════ ══════════════════════════════════════════════════ W/System (24478):忽略 header X-Firebase-Locale 因为它的值为 null。 W/System (24478):忽略 header X-Firebase-Locale 因为它的值为 null。 W/System (24478): 忽略 header X-Firebase-Locale 因为它的值为空。

使用文件图像而不是资产图像。

return Container( child: ClipRRect( borderRadius: BorderRadius.circular(45), child: Image.file(File(imagePath)), ), );