Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Flutter Firebase存储实例似乎未初始化

Flutter Firebase存储实例似乎未初始化
EN

Stack Overflow用户
提问于 2020-05-07 17:40:01
回答 1查看 197关注 0票数 1

我正在用Flutter编写一个移动应用程序,遇到了一个与Firebase存储相关的问题。应用程序的一部分需要用设备的摄像头拍照并上传到Firebase存储桶中。

上载功能一直有效,直到我在其他小更改中添加了一些身份验证功能。

以下是问题所在:

Firebase存储实例似乎未初始化。我见过一些例子,显示Firebase可以用一个接受api密钥、存储桶等参数的函数进行初始化。然而,谷歌文档从来没有提到这个函数,而是建议将GoogleService-Info.plistgoogle-services.json复制到项目中。我已经这样做了,并且它起作用了。身份验证api和Firestore api,我也在应用程序中使用这两个api,都可以正常工作。这只是Firebase存储有问题。

例如,在我的main函数中,我添加了以下代码来显示问题。

代码语言:javascript
运行
AI代码解释
复制
Future<void> main() async{

    // setup camera
    WidgetsFlutterBinding.ensureInitialized();
    final cameras = await availableCameras();

    // look here!!
    print('firestore: ${Firestore.instance.app}');
    print('storage:   ${FirebaseStorage.instance.app}');

    runApp(MyApp(cameras: cameras));
}

在运行应用程序(在物理设备上)时,控制台输出如下:

代码语言:javascript
运行
AI代码解释
复制
Restarted application in 1,097ms.
flutter: firestore: FirebaseApp(__FIRAPP_DEFAULT)
flutter: storage:   null

我真的很难理解是什么原因导致Firebase的部分初始化失败。我尝试在Firebase控制台中更改访问规则,但没有效果。下面我粘贴了我的pubspec.yaml文件的do with Firebase includes部分。

代码语言:javascript
运行
AI代码解释
复制
  # Firebase
  firebase_core: ^0.4.0+9
  firebase_analytics: ^5.0.2
  firebase_auth: ^0.14.0+5
  cloud_firestore: ^0.12.9+5
  firebase_storage: ^3.0.8

此外,下面是向Storage API发出请求的代码。同样,我不认为这是问题所在,因为实例从一开始就是空的,但这里是为了完整性:

代码语言:javascript
运行
AI代码解释
复制
    // saves a locally stored image at local_uri as name. After the storage task
    // is complete, the DocumentReference ref is updated with the new url
    Future<void> _save_storage(String name, String local_uri, DocumentReference ref) async {
        StorageReference storage_reference;

        storage_reference = FirebaseStorage.instance.ref().child('images/$name');

        final StorageUploadTask upload_task = storage_reference.putFile(io.File(local_uri));
        final StorageTaskSnapshot download_url = (await upload_task.onComplete);
        final String url = (await download_url.ref.getDownloadURL());

        // now, update the file in the database to point to the correct storage
        // url
        Firestore.instance.runTransaction((transaction) async {
            await transaction.update(ref, {'image_url' : url});
        });
    }

令人沮丧的是,这个问题没有抛出异常。文件根本不会上传到存储桶中。我知道实例字段是通过在调试模式下执行一些随机探测来取消初始化的。此外,我还发现上面的StorageUploadTask实例的错误代码为-13000,但是我在任何地方都没有找到任何关于此错误代码的文档。

我对Flutter和Firebase都是新手,所以我认为这里的部分问题是我不理解Firebase实例是如何创建的。在这个问题上如果有任何指导我将不胜感激。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-07 23:15:31

解决了!我有一个与Firebase存储一起运行的缓存,它允许在上载发生时重命名文件。现在,重命名任务被阻塞,直到上传完成。我仍然不确定为什么Firebase存储实例没有使用我期望的数据进行初始化,但既然它现在正在工作,我愿意忽略这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61664221

复制
相关文章
flutter中多flavors方案以及添加firebase​
有想做海外市场的同学们,可能需要用到firebase。今天我们讲讲怎么使用「FlutterFire CLI」添加 firebase以及如何设置「flavors」
用户1974410
2022/09/20
10.2K0
flutter中多flavors方案以及添加firebase​
【慢雾科技】以太坊 Solidity 未初始化存储指针安全风险
看到安比实验室有篇文章在说《警惕!Solidity缺陷易使合约状态失控》的问题,原文链接可以在参考链接中获取。
辉哥
2018/08/10
1.1K0
【慢雾科技】以太坊 Solidity 未初始化存储指针安全风险
firebase怎么用_firebase是什么
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168361.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/20
4.3K0
firebase怎么用_firebase是什么
Flutter 2.8正式版发布了,还不来看看
在2021年12月上旬,Flutter官方发布了今年的第四个正式版本,也是今年的最后一个Flutter稳定版。
CrazyCodeBoy
2022/01/04
23.1K0
Flutter 2.8正式版发布了,还不来看看
Jenkins安装报错:该Jenkins实例似乎已离线
打开一个新的Tab,输入网址:http://localhost:8080/pluginManager/advanced
Java架构师历程
2020/04/21
2.5K0
UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
今天调整项目需求,里面涉及到需要初始化多个百度编辑器。但是遇到这样一个问题,百度编辑器在第一次进入时,编辑器容器未初始化,再次刷新容器初始化成功。 通过UE.instances查看已初始化的实例却发现,该编辑器实例已存在,也就是说只是没有执行render函数
Clearlove
2019/08/29
1.5K0
UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
常见未授权访问漏洞实例
近来看到不少未授权访问漏洞,心想把这一块的几个漏洞归纳起来看看。未授权访问漏洞造成的危害可大可小,无论是数据库服务、或者像 Weblogic 这种大型中间件都曾出过未授权访问漏洞。本文鉴于前人对每个漏洞的分析十分详细,在此仅简单归纳几个未授权访问漏洞,未进行具体的代码分析,有兴趣的可以根据链接查看分析原文。
信安之路
2021/03/10
3K0
常见未授权访问漏洞实例
Docker安装Jenkins报错解决:该Jenkins实例似乎已离线。
 2.输入网址http://xxxxxx:8080/pluginManager/advanced访问。
非著名运维
2022/06/22
1.5K0
Docker安装Jenkins报错解决:该Jenkins实例似乎已离线。
集成推送那点事-友盟/Mob-Flutter/FCM
这里就挑我用过的几个来做一个简单对比,毕竟鸡老大说了,连基本的论证对比都没,你还玩个锤子(我瞎编的)。
贺biubiu
2020/07/14
11.8K1
集成推送那点事-友盟/Mob-Flutter/FCM
磁盘未初始化 修复_初始化磁盘是什么意思
磁盘没有初始化是因为0号扇区损坏,导致机械硬盘分区表读取不出来,从而机械硬盘出现磁盘没有初始化。
全栈程序员站长
2022/08/02
1.7K0
磁盘未初始化 修复_初始化磁盘是什么意思
Flutter 3.7 新特性:介绍后台isolate通道
此时此刻,我很高兴地宣布从 Flutter 3.7 开始开发人员可以在任意 isolate 中使用插件和平台通道了。 这是自 2018 年以来一直存在并且也是我们排名最高的问题之一。它被降低了优先级,因为实现并不容易且已存在解决方案,尽管很麻烦:始终在 root isolate(Flutter 提供的 isolate)中使用插件 . 然而,随着 Flutter 的日益成熟,越来越关注性能,俗话说“让它工作,让它正确,让它快速”。 选择实现这一特征有利于提高性能和易用性。 因此,考虑带来的收益我们决定实现这一特性。
睡觉谁叫
2023/02/10
4.3K0
Flutter 3.7 新特性:介绍后台isolate通道
CSP 202203-1 未初始化警告
叶茂林
2023/09/10
2150
CSP 202203-1 未初始化警告
Flutter框架分析(二)-- 初始化
上篇文章《Flutter框架分析(一)-- 总览和Window》介绍了Flutter框架最核心的渲染流水线和最基础的Window。这篇文章里,我们从Flutter框架的初始化来进入,来一步步揭开Flutter的面纱。写过Flutter程序的同学都知道,Flutter app的入口就是函数runApp()。
HowHardCanItBe
2020/09/15
9590
mysql存储过程实例_sql存储过程创建实例详解
我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中,用户通过指定存储过程的名字并给定参数(如果该存储过程带有参数)来调用执行它。
全栈程序员站长
2022/09/27
2.4K0
Rust数组默认初始化:初始化未实现Copy trait的类型
在安全的Rust中,编译器要求数组一旦被声明,它所占用的内存应当被完全初始化。但是,在一些情况下,这样会导致没法很灵活的对数组进行默认初始化。
灯珑LoGin
2023/10/18
4270
Rust数组默认初始化:初始化未实现Copy trait的类型
Firebase 如何创建登录 Token
Firebase 的 token 可以使用 firebase 命令行工具来进行创建。
HoneyMoose
2021/04/02
2.6K0
Firebase 如何创建登录 Token
「首席架构师推荐」最棒的的Flutter库,工具,教程,文章列表
Flutter是一款移动应用SDK,可通过单一代码库为iOS和Android构建高性能,高保真的应用。
架构师研究会
2019/09/18
10.9K0
Flutter 中的本地存储
在Flutter中,我们使用shared_preferences组件来实现本地数据的存储。
拉维
2019/09/16
2.5K0
Flutter 3.0正式发布:稳定支持6大平台,字节跳动是主要用户
5 月 12 日,Flutter 3.0 在 Google I/O 开发者大会正式亮相,随着 3.0 版本的发布,Flutter 开发框架终于可以支持六大平台,实现了其跨平台稳定运行的愿景。
深度学习与Python
2022/06/11
7.7K0
Flutter 3.0正式发布:稳定支持6大平台,字节跳动是主要用户
点击加载更多

相似问题

Flutter应用程序未初始化Firebase实例

129

Flutter : getDownloadUrl (firebase存储)

211

Flutter Firebase存储listAll

19

Flutter Firebase存储期货问题

110

Flutter FireBase图文存储

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档