Плагин хранилища Firebase не работает на Flutter web

#firebase #flutter #firebase-storage #flutter-web

# #firebase #flutter #firebase-хранилище #flutter-web

Вопрос:

На основе этой страницы FlutterFire должен поддерживать облачное хранилище Firebase в Интернете. Однако, когда я инициализирую FlutterFire, а затем запускаю следующий код, я получаю сообщение об ошибке:

 import 'package:firebase_storage/firebase_storage.dart';

...
await store.ref().child(storePath).child(newId).putData(imageData,);
 

Ошибка:

 Uncaught (in promise) Error: MissingPluginException(No implementation found for method Task#startPutData on channel plugins.flutter.io/firebase_storage)
at Object.throw_ [as throw] (errors.dart:216)
 

Это настройка, которую я имею в index.html:

 <script src="https://www.gstatic.com/firebasejs/7.24.0/firebase-app.js"></script>
<script src="https://www.gstatic.com/firebasejs/7.24.0/firebase-firestore.js"></script>>
<script src="https://www.gstatic.com/firebasejs/7.24.0/firebase-storage.js"></script>

<script>
var firebaseConfig = {
  apiKey: "sdjsdlksksd", //random strings not actual values
  authDomain: "sdsdkldskldsk",
  databaseURL: "https://askjskdjkd.com",
  projectId: "sdisdkjk",
  storageBucket: "dklsjfkldsfjlkdsjk",
  appId: "1:dghjqwkdwwqo;kewijdkjw",
};
firebase.initializeApp(firebaseConfig);
firebase.analytics();
 

И в pubspec.yaml:

 firebase_storage: ^5.0.1
 

Есть идеи, что может быть причиной ошибки? Это действительно ошибка? Есть обходной путь?

Ответ №1:

попробуйте добавить основной плагин firebase для dart следующим образом :

 firebase: ^7.3.2
 

теперь используйте хранилище firebase следующим образом :

 import 'package:firebase/firebase.dart' as fb;

final storageRef = fb.storage().ref('$folderName/$filname');