Flutter Web Firebase存储中的核心/无选项Firebase错误

aelbi1ox  于 2022-12-04  发布在  Flutter
关注(0)|答案(1)|浏览(226)

I want to store file in firebase storage when i use firebaseStorage instance to put data i got this error : Uncaught (in promise) Error: [core/no-options] Firebase: Need to provide options, when not being deployed to hosting via source.. note that i dont have firebase opitions file

Future main()  async {
  runApp(StartPoint());
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp(
    name: "myapp",
    options: kIsWeb || Platform.isAndroid ? FirebaseOptions(
      apiKey: "api_key",
      appId: "appID",
      messagingSenderId: "messaging",
      projectId: "proID",
      storageBucket: "myapp.appspot.com",
    ):null,
  );
}
void UploadFiles() async{
    UploadTask task = FirebaseStorage.instance.ref().child("files/$filename").putData(bfile);
    task.snapshotEvents.listen((event) {
      setState(() {
       progress = ((event.bytesTransferred.toDouble()/event.totalBytes.toDouble())*100).roundToDouble();
       print(progress);
      });
    });
nzk0hqpo

nzk0hqpo1#

您似乎正在尝试使用空选项对象初始化Firebase应用程序。您似乎在提供选项之前检查了kIsWeb和Platform.isAndroid标志,但如果这些标志为false,则未提供选项。这导致了您看到的错误,因为Firebase需要提供选项才能初始化应用程序。
要修复此错误,您可以在所有情况下为Firebase应用提供选项,而不是仅在kIsWeb或Platform.isAndroid为true时提供选项。例如,您可以提供如下所示的默认选项:

Future main() async {
  runApp(StartPoint());
  WidgetsFlutterBinding.ensureInitialized();

  FirebaseOptions defaultOptions = FirebaseOptions(
    apiKey: "api_key",
    appId: "appID",
    messagingSenderId: "messaging",
    projectId: "proID",
    storageBucket: "myapp.appspot.com",
  );

  await Firebase.initializeApp(
    name: "myapp",
    options: defaultOptions,
  );
}

或者,您可以删除kIsWeb|| Platform.isAndroid检查并在所有情况下提供选项。这将允许您初始化Firebase应用程序,而不考虑平台或部署环境。

Future main() async {
  runApp(StartPoint());
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp(
    name: "myapp",
    options: FirebaseOptions(
      apiKey: "api_key",
      appId: "appID",
      messagingSenderId: "messaging",
      projectId: "proID",
      storageBucket: "myapp.appspot.com",
    ),
  );
}

相关问题