Android 颤振-添加导入时出错';包:path/path.dart';

Android 颤振-添加导入时出错';包:path/path.dart';,android,dart,flutter,Android,Dart,Flutter,在我的应用程序正常运行之前,我尝试使用图像路径上传图像。当我尝试添加import“package:path/path.dart”时;和basename(image.path)为了上传我的图像,我在对话框警报中收到一个新错误。上下文中的更多细节:上下文。这是我的代码: import 'package:path/path.dart'; Future uploadFile() async { final FirebaseUser user = await FirebaseAu

在我的应用程序正常运行之前,我尝试使用图像路径上传图像。当我尝试添加import“package:path/path.dart”时;和basename(image.path)为了上传我的图像,我在对话框警报中收到一个新错误。上下文中的更多细节:上下文。这是我的代码:

import 'package:path/path.dart';

    Future uploadFile() async {
        final FirebaseUser user = await FirebaseAuth.instance.currentUser();
        final userId = user.uid;
        _imageList.forEach((_image) {
          final StorageReference firebaseStorageRef = FirebaseStorage.instance
              .ref()
              .child('category')
              .child('food')
              .child('images')
              .child(username)
              .child(basename(_image.path));
          final StorageUploadTask task = firebaseStorageRef.putFile(_image);
          return task;
        });
      }
下面是我遇到错误的代码:

Future<void> alertSuccess() async {
    return showDialog<void>(

    /*this error*/
    context: context,
    /*------------*/

      barrierDismissible: false, // user must tap button!
      builder: (BuildContext context) {
        return AlertDialog(
          title: Text('Success'),
          content: SingleChildScrollView(
            child: ListBody(
              children: <Widget>[
                Text(
                    'You success save data.'),
              ],
            ),
          ),
          actions: <Widget>[
            FlatButton(
              child: Text('OK'),
              onPressed: () {
                Navigator.pop(context);
                Navigator.pushReplacement(
                    context,
                    new MaterialPageRoute(
                        builder: (context) => PublicService()));
              },
            ),
          ],
        );
      },
    );
  } 
Future alertSuccess()异步{
返回显示对话框(
/*这个错误*/
上下文:上下文,
/*------------*/
barrierDismissible:false,//用户必须点击按钮!
生成器:(BuildContext上下文){
返回警报对话框(
标题:文本(“成功”),
内容:SingleChildScrollView(
子:列表体(
儿童:[
正文(
“您成功保存了数据。”),
],
),
),
行动:[
扁平按钮(
子项:文本('OK'),
已按下:(){
Navigator.pop(上下文);
导航器。更换(
上下文
新材料路线(
生成器:(context)=>PublicService());
},
),
],
);
},
);
} 

path.dart覆盖框架的全局上下文变量。 :-( 因此,在path包开发人员解决这个问题之前,注释中的Günter Zöchbauer的解决方案是有效的。 为包使用别名并通过别名访问它。 如果您像我一样有其他名为“path”的变量,则需要重命名它们,例如:

导入“package:path/path.dart”作为路径

然后,例如使用

final imgPath = path.join(
  (await _localPath),
  '${DateTime.now()}.png',
);
而不是

final path = join(
  (await _localPath),
  '${DateTime.now()}.png',
);

使用以下内容
Future alertSuccess()async{//your code}

上面的每一个答案都是正确的。我也想回答这个问题的详细信息。我遇到了同样的问题,你们都帮了我。谢谢

import 'package:path/path.dart' as path;

    Future uploadFile() async {
        final FirebaseUser user = await FirebaseAuth.instance.currentUser();
        final userId = user.uid;
        _imageList.forEach((_image) {
          final StorageReference firebaseStorageRef = FirebaseStorage.instance
              .ref()
              .child('category')
              .child('food')
              .child('images')
              .child(username)
              .child(path.basename(_image.path));
          final StorageUploadTask task = firebaseStorageRef.putFile(_image);
          return task;
        });
      }

您会遇到什么错误?这是您问题中最重要的部分。请提供有关错误的详细信息。您是否正在寻找将图像文件上载到firebase存储的代码?将-
alertSuccess()
更改为
alertSuccess(BuildContext上下文)
Günter Zöchbauer和Shyju M出现错误:参数类型“Context”无法分配给参数类型“BuildContext”。[argument_type_not_assignable]尝试导入
import“package:path/path.dart”作为路径;
然后使用
path.xxx
作为来自该包的所有函数调用的前缀,如
path.combine](p1,p2);
。可能存在命名冲突。