断言失败:第 127 行 pos 12:'file.absolute.existsSync()':不是 true。)

问题描述 投票:0回答:1

我大家 希望你一切都好,

你能帮我解决这个异常吗

当我运行我的应用程序时,一切都可以,但如果想注册新用户,我总是会遇到此异常,

Failed assertion: line 127 pos 12: 'file.absolute.existsSync()': is not true.)

我使用Firebase存储

enter image description here

我声明一个变量

XFile? imageXfile;
final ImagePicker _picker = ImagePicker();

我在这里获取图像到画廊

  Future<void> _getImage() async {
    imageXfile = await _picker.pickImage(source: ImageSource.gallery);
    setState(() {
      imageXfile;
    });
  }

这里保存一个带有图像的新寄存器

//upload image to  Firebase Storage    
    String fileName = DateTime.now().millisecondsSinceEpoch.toString();
          Reference storageReference =
              FirebaseStorage.instance.ref().child('images/$fileName');
          UploadTask uploadTask =
              storageReference.putFile(File(imageXfile!.path));
          TaskSnapshot taskSnapshot = await uploadTask.whenComplete(() {});
          sallerImage = await taskSnapshot.ref.getDownloadURL();

          await FirebaseFirestore.instance
              .collection('images')
              .add({'url': sallerImage});
//save iamge 
          SingUpAndAutheticated();

当我注册时,我遇到这个异常,你能帮我解决它吗

enter image description here

flutter firebase firebase-storage
1个回答
0
投票
File(imageXfile!.path)

确保拾取操作以拾取的文件结束,这会导致初始化的

imageXFile
不为空。

在上传之前,您需要检查

imageXFile
的可空性,因为如果它为空,则会抛出异常,表明该文件不存在。

if(imageXFile != null)
    setState(() {
      // upload it 
      // do whatever you want
    });
© www.soinside.com 2019 - 2024. All rights reserved.