当前位置: 首页 > 知识库问答 >
问题:

Flutter Firebase存储不工作:没有默认存储桶

施恩
2023-03-14

我正在尝试使用此功能将< code>pdf文件上传到< code>Firebase-Storage:

  static Future<String> savePdf({
    required Uint8List assetAsUint8List,
    required String fileName,
    required DocumentType documentType,
  }) async {
    String path =
        '${BackendService().keys.studs}/${AuthenticationService().currentUser?.uid}/${documentType.name}/$fileName';

    await FirebaseStorage.instanceFor().ref(path).putData(
          assetAsUint8List,
        );
    return FirebaseStorage.instance.ref(path).getDownloadURL();
  }

但是此操作失败,并显示以下< code >错误:

未处理的异常:[firebase_storage/no-bucket]找不到默认存储桶。确保您已正确遵循《入门指南》。

我在主服务器像这样配置我的应用程序

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: kIsWeb || Platform.isAndroid
        ? FirebaseOptions(
            apiKey: "my-api-key",
            appId: "my-app-id",
            messagingSenderId: "my-messaing-sender-id",
            projectId: "appflug",
          )
        : null,
  );
  runApp(
    const App(),
  );
}

它实际上正在iOS上工作!但不是在Android或网络上...

我遵循了文档,但它根本不起作用...我找不到任何有用的东西!

我在这里缺少什么?

如果您需要更多信息,请告诉我!

共有1个答案

戚明朗
2023-03-14

解决方案相当简单:我需要在我的FirebaseOptions添加storageBucket,所以我的main看起来如下:

Future main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp(
    options: kIsWeb || Platform.isAndroid
        ? FirebaseOptions(
            apiKey: "my-app-key",
            appId: "my-app-id",
            messagingSenderId: "my-messaging-sender-id",
            projectId: "my-project-id",
            storageBucket: "myapp.appspot.com",
          )
        : null,
  );
  runApp(
    const App(),
  );
}
 类似资料:
  • 我有这样的配置 在包中,有一个组件需要中的存储库。 这适用于spring数据MongoDB 1.5.2版 如果我升级到任何高于1.6.0.release的版本(我尝试过1.6.2和1.7.0),这将不再有效。这就好像mongo存储库扫描不工作,我得到了错误: 有什么想法吗? 更新:如果我使用MongoRepository而不是PagingAndSortingRepository,它可以工作: 这不

  • Firebase存储使用490 MB,但尚未初始化存储桶。我无法跟踪这个存储com从哪里来,但是检查Firebase对一个空存储收取0.10美元的费用是很奇怪的。 我在哪里可以删除此存储?为什么firebase因没有存储桶而收费? 目前我正在使用Firebase身份验证、Firestore、实时数据库、主机和其他功能。

  • 我在POM. xml中引用了一个存储库来将ojdbc.jar添加到我的项目中,但是Maven(我使用STS插件)一直告诉我它找不到jar。 我在下面显示了我的存储库和jar依赖关系xml. 有人知道为什么找不到这个罐子吗?这是我的POM。xml设置不正确? 注意vaadin回购工作正常,因为vaadin罐被正确地添加到我的项目中。 下面是http://mvnrepository.com/artif

  • 当我尝试使用inmemory h2数据库和Jpa配置micronaut数据时,出现以下异常 我一直在关注文档 我使用maven作为构建工具从命令行创建了该项目。我有以下几点 我还添加了这样的注释处理器 我的实体类和存储库类完全如指南中所述。当我尝试使用存储库保存时,我得到了这个异常 我已经调查过了。这完全不同,对我的问题没有帮助。 有趣的是,如果我改变micronaut数据注释处理器的顺序,或者我

  • 我在谷歌云存储中有1个存储桶。Firebase创建一个新的bucket,这是Firebase控制台中的默认值。我想更改默认bucket并删除firebase创建的bucket。我如何在谷歌云存储中找到我的存储桶的配置设置。 这是默认的bucket:

  • 我有两个存储桶,一个来自谷歌云存储,一个由firebase创建,firebase创建的存储桶是默认的,我想更改默认的存储桶并删除firebase创建的存储桶。

  • 我用雷迪森换雷迪斯。我已经在我的本地系统上安装了Redis。我已经编写了以下代码并运行了它: 但是,当我进入redis-cli并尝试检索该键时,我得到这是为什么?为什么它不把数据推入Redis?