You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native中从Firebase Storage获取图片列表失败问题排查

解决Firebase Storage获取图片列表时的「object-not-found」错误

错误原因

你的代码中创建存储引用的方式有误:storage().ref() 接收的是存储桶内的相对路径,而非完整的gs://开头的URL,这会导致引用指向不存在的位置,触发找不到对象的错误。

修复方案

方案1:使用存储桶内的相对路径(推荐)

直接传入leftImg(存储桶根目录下的文件夹名)即可,Firebase会自动使用配置文件中指定的默认存储桶:

import storage from '@react-native-firebase/storage';

const storageRef = storage().ref('leftImg');
storageRef.listAll().then((result) => {
    console.log('Items:', result.items);
}).catch((error) => {
    console.error('Error:', error);
});

方案2:使用完整GS路径创建引用

如果必须使用gs://开头的完整路径,需要改用refFromURL方法:

import storage from '@react-native-firebase/storage';

const storageRef = storage().refFromURL('gs://wallpaper-(the remaining path).com/leftImg');
storageRef.listAll().then((result) => {
    console.log('Items:', result.items);
}).catch((error) => {
    console.error('Error:', error);
});

额外检查点

  • 确认存储桶配置:检查Android的google-services.json或iOS的GoogleService-Info.plist中的存储桶名称,确保和代码中的一致。
  • 路径大小写:Firebase Storage路径区分大小写,确认leftImg的拼写和存储桶中的文件夹名完全一致。
  • 存储访问规则:若修复路径后仍报错,检查Firebase Storage的规则是否允许读取操作。测试阶段可临时设置开放规则(上线后务必修改为安全规则):
rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if true;
    }
  }
}

内容的提问来源于stack exchange,提问作者Gaju_masare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 02:50:03