首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Firebase存储上载任务继续从不触发

在使用 Firebase 存储时,如果你发现上传任务的进度监听器没有触发,可能是由于以下几个原因:

  1. 监听器未正确附加:确保你正确地附加了上传任务的监听器。
  2. 上传任务未正确启动:确保上传任务已正确启动。
  3. 网络问题:检查网络连接是否正常。
  4. 文件大小和类型:确保上传的文件大小和类型是允许的。

以下是一个完整的示例,展示了如何在 Firebase 存储中上传文件并正确附加进度监听器。

1. 初始化 Firebase

首先,确保你已经初始化了 Firebase 应用。以下是一个示例,展示了如何在 Node.js 环境中初始化 Firebase:

代码语言:javascript
复制
const firebase = require('firebase/app');
require('firebase/storage');

// 初始化 Firebase 应用
const firebaseConfig = {
  apiKey: "YOUR_API_KEY",
  authDomain: "YOUR_AUTH_DOMAIN",
  projectId: "YOUR_PROJECT_ID",
  storageBucket: "YOUR_STORAGE_BUCKET",
  messagingSenderId: "YOUR_MESSAGING_SENDER_ID",
  appId: "YOUR_APP_ID"
};

firebase.initializeApp(firebaseConfig);
const storage = firebase.storage();

2. 上传文件并附加监听器

以下是一个示例,展示了如何上传文件并附加进度监听器:

代码语言:javascript
复制
const file = ...; // 要上传的文件对象
const storageRef = storage.ref();
const uploadTask = storageRef.child('uploads/myfile.txt').put(file);

// 监听上传任务的状态变化
uploadTask.on('state_changed', 
  (snapshot) => {
    // 获取上传进度
    const progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
    console.log('Upload is ' + progress + '% done');
    switch (snapshot.state) {
      case firebase.storage.TaskState.PAUSED: // 或 'paused'
        console.log('Upload is paused');
        break;
      case firebase.storage.TaskState.RUNNING: // 或 'running'
        console.log('Upload is running');
        break;
    }
  }, 
  (error) => {
    // 处理上传错误
    switch (error.code) {
      case 'storage/unauthorized':
        console.error('User doesn\'t have permission to access the object');
        break;
      case 'storage/canceled':
        console.error('User canceled the upload');
        break;
      case 'storage/unknown':
        console.error('Unknown error occurred, inspect error.serverResponse');
        break;
    }
  }, 
  () => {
    // 上传完成后的处理
    uploadTask.snapshot.ref.getDownloadURL().then((downloadURL) => {
      console.log('File available at', downloadURL);
    });
  }
);

3. 检查常见问题

如果上传任务的监听器仍然没有触发,请检查以下几点:

  1. 确保文件对象有效:确保 file 变量是一个有效的文件对象。
  2. 检查 Firebase 配置:确保 Firebase 配置正确,并且项目 ID 和存储桶名称正确。
  3. 网络连接:确保网络连接正常。
  4. 浏览器兼容性:确保使用的浏览器支持 Firebase 存储功能。

4. 调试和日志记录

添加更多的日志记录来调试问题。例如,可以在上传任务开始之前和之后添加日志:

代码语言:javascript
复制
console.log('Starting upload task');
const uploadTask = storageRef.child('uploads/myfile.txt').put(file);
console.log('Upload task started');

通过这些日志,你可以更好地了解代码的执行顺序和可能的问题。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【干货】手把手教你用苹果Core ML和Swift开发人脸目标识别APP

他们可以使用他们识别猫的过程,但将其应用于稍微不同的任务。这就是迁移学习的原理。...要运行下面的脚本,您需要在MobileNet配置文件添加本地路径,你需要从训练任务中下载模型检查点的编号,以及要导出的图形的目录名称: ?...Swift客户端将图像上传到云存储,这会触发Firebase,在Node.js中发出预测请求,并将生成的预测图像和数据保存到云存储和Firestore中。...用户选择照片后,会自动将图像上载到云端存储: ? 接下来,我编写了上传到我的项目的云存储触发Firebase数据库。它把图像进行64位编码,并发送到机器学习引擎进行预测。...预测请求:我使用Firebase SDK for Cloud功能向我的机器学习引擎模型发出在线预测请求。此请求是由我的Swift应用上传到Firebase存储触发的。

14.8K60
  • Jetpack-WorkManager

    因为workManager比service强大太多,它可以在应用程序退出或者其他原因中止后,依然执行(本地任务如:本地图片的读取展示)或者应用程序打开后继续执行任务(网络请求)。...workmanager与其他后台任务方式 除了serverice可以执行后台任务,还有alarmManager,jobScheduler及firebase的jobDispatcher,那么workManager...workStatus 包含任务的状态和信息,以LiveData的形式提供给观察者。 data 在worker中用来存储数据,建造者模式,通过builder()来设置值,键值对存储。...constraints 指定任务运行的环境(触发条件),比如:在待机状态下执行或在充电状态下执行,所以你的worker只有符合上述条件才能触发运行。所以这也是一种优化,可以为用户节约电量。...implementation 'android.arch.work:work-runtime:1.0.1' implementation 'android.arch.work:work-firebase

    1.5K20

    Android WorkManager: 轻松管理后台任务

    WorkDatabase: 用于持久化存储任务的状态、约束条件等信息。 WorkPolicy: 定义了任务调度的策略,包括立即执行、保留最新、保留最旧等。...调度流程 当开发者提交任务时,WorkManager首先会将任务信息存储到WorkDatabase中,包括任务的状态、约束条件等。...Firebase JobDispatcher (API 14+): 对于API级别较低的设备,WorkManager会利用Firebase JobDispatcher来实现类似的任务调度。...如果硬约束条件无法满足,WorkManager会等待直到满足条件再执行任务。 软约束: 这些是可选条件,例如设备空闲、存储空间充足等。...return Result.success() } } 设置约束和触发条件 使用Constraints来定义任务的约束条件,例如网络连接、充电状态等。

    52020

    我们能用云函数做什么?

    Firebase以独特的方式使用云函数来满足其独特需求,典型运用的领域: 当发生了一些新奇有趣的事情通知用户 执行实时的数据库清理和维护 在云上执行密集的任务,而不是在本地的应用程序上 与第三方的服务和...在这样的程序中,由实时数据库触发的写入功能以存储新的关注者可以创建Firebase的云消息通知,让用户知道他们的粉丝数又增加了。...下面是它的工作原理图: 当图像上传到Storage的时候,该函数会被触发 该函数下载该图像的并创建它的缩略图 该函数将此缩略图的位置写入数据库,这样客户端程序就可以使用它 该函数将缩略图上传到新的存储位置...先由客户端上传视频至云对象存储COS 然后通过自动触发云函数对视频进行处理(不同清晰度的转码) 然后将转码后的视频重新上传至云对象存储COS 最后再发送给用户 其中视频文件始终在COS上 Ⅱ、数据ELT...类似于上面的在云上执行密集的任务,而不是在本地的应用程序上 将存储在云对象存储COS的文件通过Map云函数进行文件映射 将映射出来的许多小文件分别通过云函数处理 然后将处理后的文件存储至云数据库中(使得

    16.8K40

    满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求

    譬如说,如果某个用户拒绝您的应用访问设备 GPS,应用须通过其它方法继续运行。...若消息接收需要必要后台工作,如后台数据同步,您的应用须要通过 Firebase Job Dispatcher 或者 JobIntentService 调度任务。...- 进行核心用例测试,并确保所有必须权限请求再被显示; 妥善应对 Doze 模式,达到预期效果且不导致错误: - 在应用运行时,使用 adb 让您的测试设备进入 Doze 模式: ·· 测试任何触发...Firebase Cloud Messaging 消息的用例; ·· 测试任何需要使用闹钟或者任务用例; ·· 消除所有后台服务依赖; - 设置您的应用进入待机模式: ·· 测试任何触发...以及 ACTION_NEW_VIDEO 广播限制 (即移动至 JobScheduler 任务); - 确保任何依赖此类事件的重要用例都能顺利运行; 应用间分享文件: - 请测试所有涉及到应用间分享文件数据的案例

    8.7K30

    跟上脚步,进入后台执行新时代

    您还可以添加任务执行的约束条件,例如:当设备空闲或充电时才可以触发,或者当内容提供程序发生变更时才可以运行。...在此步骤中,您可以添加约束条件 “当设备充电时,任务才可以被执行”。 第二步:向服务器上传文件。在创建此请求时,您应该添加 “需要联网”这一约束条件,指定任务仅在设备连接到有效网络时才会被触发。...如果任务由外部事件触发且运行时间较长,例如同步新数据,请先使用 Firebase Cloud Messaging 通知您的应用,然后再调用 WorkManager 创建同步数据的工作请求。...如果您需要在某一特定时间运行一个无法被推迟的任务,且该任务触发操作 (action) 并涉及用户交互,请调用 AlarmManager 中的 setExactAndAllowWhileIdle 方法。...请注意:WorkManager 目前只发布了公共预览版,您可以继续使用 JobScheduler 作为替代方案,不过和 WorkManger 相比,JobScheduler 有更多的局限。

    2.5K30

    应用上云2小时烧掉近50万,创始人:差点破产,简直噩梦

    Google Cloud Run 为简单起见,因为我们的实验是针对一个很小的站点,所以我们使用Firebase存储数据库,因为Cloud Run没有任何存储,并且在SQL Server上进行部署,或者用于测试运行的任何其他数据库都已经过时了...2 噩梦仍在继续 这发生在3月27日星期五晚上,即我们计划发布Announce V1的三天前。由于Google暂停了所有与同一张信用卡相关联的项目,因此我们的产品开发工作死了。...好吧,猜猜是什么,到中断功能触发或通知云用户时,损坏可能已经完成了。 结算大约需要一天的时间,因此这就是我们第二天注意到收费的原因。 3. Google应该向我们收取$ 100,而不是$ 72K!...Google的最后一天 另一个任务是了解我们的错误,并制定我们的产品开发策略。并非团队中的每个人都知道发生了什么,但是很明显我们遇到了一些大麻烦。...我们又恢复了活力,能够继续开发 Announce。而且这一次,我们拥有更好的视角、更强的架构与更安全的实现思路。

    42.8K10

    firebase:一款功能强大的Firebase数据库安全漏洞与错误配置检测工具

    firebase是一款针对Firebase数据库的安全工具,该工具基于Python 3开发,可以帮助广大研究人员针对目标Firebase数据库执行安全漏洞扫描、漏洞测试和错误配置检测等任务。...requirements.txt文件安装该工具所需的其他依赖组件: cd firebase pip install -r requirements.txt 工具使用 python3 firebase.py...just-v:忽略没有安全漏洞的数据库; --amass:amass扫描的输出文件路径 ([-o]选项); 工具使用样例 下列命令将查询Alexa排名前150的域名以及DNSDumpster提供的数据库,结果将存储至...results_1.json文件中,整个工具脚本将使用4个并行进程执行任务: python3 firebase.py -p 4 -f results_1.json -c 150 --dnsdumpster...项目地址 firebase: https://github.com/francesc-h/firebase https://github.com/PaulSec/API-dnsdumpster.com

    17510

    Android P 电量管理

    尤其是,应用所处的的群组决定了其所安排的任务 (job),触发标准闹铃以及接受高优先级Firebase Cloud Messagesing信息的频率。...应用偶尔被使用 (App is not frequently used) 此外,安装后一次都未被使用过的应用将被划分至 “从不” 这一特殊群组,并受到十分严格的系统限制。...工作分组内的应用会在任务 (job) 运行和闹铃触发方面受到部分系统限制,详情请查阅《附件: 电量管理限制》。...系统对常用分组采用的限制更强,应用运行任务(job)和触发闹铃的能力都会受到影响,而且接受的高优先性FCM消息也有数量上限,详情请查阅《附件:电量管理限制》。...设备厂商可自行决定具体采用的限制,比如:在 AOSP 构建上,除非受限应用运行在前台,否则它将无法运行任务 (job),触发闹铃或者访问网络。

    2.1K30

    开源标准统一Webhook

    与 API 不同,webhooks 主要用于实时数据和触发自动化工作流程。使用场景包括聊天消息、支付提醒、库存更新、订单状态更改和任务创建事件,如客户登录。...例如,服务可能会触发诸如 ‘用户已支付’ 或 ‘任务完成’ 之类的事件的 webhooks。” 相反,API 更经常用于双向数据交换,并倾向于涉及一些数据延迟。...应用集成公司; Twilio,一个 Web 通信公司; Lob,一个直邮系统公司,也是 Svix 的客户; Mux,一个视频流公司; ngrok,一个统一的入口平台; Supabase,开源 Firebase...例如,就目前而言,Webhook 是否触发认证请求取决于个别开发人员。...“现在,人们到处都是,试图从不同的提供商那里接收 Webhooks 真的很痛苦,但我们也想尽可能方便地为人们提供良好的 Webhook 解决方案,因为这也是一个痛点,”他说。

    21410

    React Hooks 学习笔记 | useEffect Hook(二)

    但是还好, useEffect Hook 提供了依赖使用参数,第一个参数是定义方法,第二个参数是依赖数组,用于自定义依赖的参数,是否触发再次执行,接下来我们来看几个示例效果: 3.1、after every...五、继续完善购物清单 在上一篇系列文章里《 React Hooks 学习笔记 | State Hook(一)》,我们通过做一个简单的购物清单实践了 State Hook,本篇文章我们通过继续完善这个实例...5.1、创建Firebase 1、在 https://firebase.google.com/(科学上网才能访问),使用谷歌账户登录 ,进入控制台创建项目。 ?...2、这里我新建了一个 react-hook-update 项目,并这个项目里我们创建了 Realtime Database 实时数据库(非关系数据库),用于存储项目的数据,其数据库又提供了相关的接口用于数据的增删改查...同时依赖参数有三个 [enteredFilter, onLoadIngredients,inputRef],只有用户的输入内容和事件属性发生变化时,才会再次触发 useEffect() 中的逻辑。

    8.3K30

    泄露2.2亿条数据,谷歌Firebase平台数据库被100%读取

    Eva 解释说,这些公司必须进行了额外操作才会以明文形式存储密码,因为 Firebase 提供了一个称为 Firebase 认证的端到端身份验证方案,这个方案专为安全登录流程设计,不会在记录中泄露用户的密码...在 Firestore 数据库中,如果管理员设置了一个名为 ‘password’ 的字段,并将密码数据以明文形式存储在其中,那么用户的密码就有可能暴露。...该脚本消耗大量内存,不适合执行任务,因此被 Logykk 用 Golang 编写的变种脚本取代,该脚本花了两个多星期才完成互联网扫描。...所使用的 Firebase 实例的管理员和 "超级管理员 "权限。...虽然 Chattr 的 Firebase 面板中的管理员角色允许查看与试图在快餐连锁店获得工作的个人相关的敏感信息,但 "超级管理员 "职位允许访问公司账户,并代表公司执行某些任务,包括招聘决策。

    18710

    Flutter 3.0正式发布:稳定支持6大平台,字节跳动是主要用户

    Firebase 与 Flutter 应用程序的构建远不止于 UI 框架。应用程序发布者需要一整套工具来完成项目的构建、发布和运营,具体涵盖身份验证、数据存储、云功能和设备测试等服务。...谷歌提供的应用服务 Firebase 也是其中之一。根据 SlashData 开发者基准测试结果,62% 的 Flutter 开发者会在应用程序中使用 Firebase。...到了 3.0 版本,官方宣布 Flutter/Firebase 集成水平进一步提升,现已支持 Firebase 的全部核心功能。...“我们正在将源代码和文档转移到 Firebase 各主 repo 和站点当中,后续也将继续在 Android 与 iOS 上同步各项 Firebase 支持。”...他说:“我们在休闲游戏工具包中试图提供的很多东西都是对 Flame 的补充”,他指的是与苹果的 Game Center 或 Google Play 游戏服务整合等任务

    7.4K20

    Android应用保活全攻略:30个实用技巧助你突破后台限制

    JobScheduler是Android 5.0引入的一种任务调度机制,可以在满足特定条件下执行任务。通过创建一个Job,设置触发条件,然后将Job提交给JobScheduler。...当发送一个sticky广播时,系统会将该广播存储在内存中,这样即使应用被杀死,也可以在重新启动时收到广播。...当系统触发同步操作时,会启动与账户关联的应用进程。但请注意,这种方法可能会对用户造成困扰,因此应谨慎使用。 16....为了保证应用在这些模式下正常运行,你需要适配这些特性,如使用高优先级的Firebase Cloud Messaging(FCM)消息来唤醒应用。 17....使用Firebase Cloud Messaging(FCM) 对于需要实时消息推送的应用,可以使用Firebase Cloud Messaging(FCM)服务。

    71620

    Firebase Remote Config

    什么是 Firebase Remote Config Firebase Remote Config 是一项云服务,可以更改 APP 的响应,而无需用户更新 APP。...这样一来,您可以先验证改进,然后再将其推向整个用户群 工作原理 Remote Config 包括一个客户端库,通过在 Firebase 控制台,可以设置相关参数与条件,在适当的时机触发相关逻辑处理,...、Android、Flutter 等集成,详情可见 Remote Config 限制和政策 政策 不要使用 Remote Config 去获取用户授权 不要在 Remote Config 键值对中存储机密数据...不要使用 Remote Config 规避 APP 的平台的要求 限制 一个项目可拥有 2,000 个 Remote Config 参数 最多可存储 300 个版本的 Remote Config 模板...,存储的任何模板的最长有效期为 90 天 Remote Config 默认和建议的生产提取间隔为 12 小时,这意味着无论实际上调用了多少次提取方法,在 12 小时的时间段内最多从后端提取一次配置 Remote

    59910

    剑指 Firebase ,云开发—— 腾讯云的小 B 战略能行么?

    通过组合云平台内的各项能力,BaaS 为开发者提供了整个后端的能力,包括结构化数据存储的数据库和非结构化数据存储的对象存储,以及复杂逻辑运行的函数服务。...### Parse 的落幕 [rm8r1.jpg] BaaS 知道的最多的便是被 Facebook 收归旗下的 Parse 平台,这个平台能够帮助开发者完成数据存储、云端存储、云端逻辑的支持,可惜,被...、COS 对象存储和 CDN 来提供服务。...[sbdug.jpg] 从其官网可以看到,云开发目前提供的小程序 SDK 是其整个体系的一部分,后续,还会为开发者提供更多的服务,除了文件管理、数据管理、函数服务、静态服务以外,还会逐渐提供触发器、用户管理...从对手来看,**云开发的对手只有 Firebase ,云开发未来的完全体,也会是 Firebase

    8.6K40

    从架构分析到代码,Amazon无人超市是这样诞生的|附教程

    △ EZShop的六大组件 小编来分别介绍一下他们用到的些模块: Kairos人脸识别API 这是EZShop的一个基本组件,能够识别、存储特定的人脸信息。...顾客注册时,脸就会存到这个相册里,系统的实时数据库也会向这个顾客的注册信息返回并存储一个face_id。...实时Firebase数据库 这也是一个非常基本的组件,整套EZShop里,所有其他的组件都得和它实时交互。...整个计划很简单,数据库存储一组商品、一组顾客,如下面的JSON文件架构所示: { "items": [ { "item_id": 1, "item_name": "Soylent", "item_stock...商品被拿起来的时候,传感器的读数就会变化,触发数据库中商品库存的更新。 塔顶上绑着的手机(摄像头)也会探测到场景的变化,还会识别拿商品的顾客。然后,这件商品会被放到顾客的虚拟购物车里。

    7K61

    Android vitals 帮您解决应用质量问题

    这篇文章将探讨其中以下两个问题: 1.过度唤醒:过度唤醒会对电池寿命造成影响,而且在无法及时充电的情况下,可能导致用户无法继续使用设备。...在使用唤醒闹钟的时候,您需要考虑以下几点: 若您需要显示信息以响应来自网络的数据,考虑通过使用 Firebase Cloud Messaging 等工具来实现消息推送。...如果您无法使用消息推送并依赖定期轮询,考虑使用 JobScheduler 或者 Firebase JobDispatcher (或者使用 SyncManager 来处理账户数据)。...-- 持续性以及自动退避 —— 继续执行任务 (即使在重启后) 并且在失败的情况能自动重试。...当且仅当消息推送以及任务调度对您的任务不适用时,您才可以利用 AlarmManager 设定唤醒闹钟。换个角度来说就是,仅当您想要在特定时间触发闹钟,不考虑网络以及其它情况,唤醒闹钟才是必要的。

    1.4K10
    领券