如何将 uri 转换为绝对路径 - flutter / Failed assertion: line 126 pos 12: 'file.absolute.existsSync()': is not true

问题描述

当我尝试将图像上传到 Firebase 存储时出现此错误

[ERROR:Flutter/lib/ui/ui_dart_state.cc(199)] 未处理的异常:'package:firebase_storage/src/reference.dart':断言失败:第 126 行 pos 12:'file.absolute.existsSync() ': 不是真的。

当我尝试使用 FlutterAbsolutePath.getAbsolutePath 时,出现此错误

未处理的异常:MissingPluginException(在通道 Flutter_absolute_path 上找不到方法 getAbsolutePath 的实现)

 Future<void> loadAssets() async {
    List<Asset> resultList = List<Asset>();
    try {
      resultList = await MultiImagePicker.pickImages(
        maxImages: 6,enableCamera: true,selectedAssets: images,cupertinoOptions: CupertinoOptions(takePhotoIcon: "chat"),materialOptions: MaterialOptions(
          actionBarColor: "#abcdef",actionBarTitle: "Example App",allViewTitle: "All Photos",useDetailsView: false,selectCirclestrokeColor: "#000000",),);
    } on Exception catch (e) {
      print(e);
    }

    // If the widget was removed from the tree while the asynchronous platform
    // message was in flight,we want to discard the reply rather than calling
    // setState to update our non-existent appearance.
    if (!mounted) return;
    setState(() {
      images = resultList;
      _error = errorMessage;
      getFileList();
    });
  }
void getFileList() async{
    listFile.clear();
    for(int i=0; i<images.length; i++){
      var path= await images[i].identifier;
      print(path);
      var file=await getimageFileFromAsset(path);
      print(file);
      listFile.add(file);
    }
    setState(() {

    });
  }
Future<File> getimageFileFromAsset(String path) async {

 final file = File(path);
 return file;
}
  Future uploadFile() async {
int i = 1;
final String fileName = DateTime.Now().toString();

for (var img in listFile) {
  setState(() {
    val = i / listFile.length;
  });
  print(img);

  Reference ref = FirebaseStorage.instance
      .ref()
      .child('images/${Path.basename(img.path)}');
  UploadTask uploadTask = ref.putFile(img);
  await uploadTask;

  //
  // FirebaseStorage  storage = FirebaseStorage.instance;
  //
  // Reference ref = FirebaseStorage.instance.ref('/images');

} }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...