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

Android Firebase存储上传失败:StorageException -13010/404错误求助

Firebase Storage 上传图片失败(Code -13010/404)排查指南

先查最容易踩坑的点

  • 存储路径与引用不匹配:
    把你构建的Storage引用路径打印出来(Log.d("DebugPath", storageRef.toString())),和Firebase控制台里的存储桶路径一字一句比对。比如文件夹名少打字母、用户UID拼接错误(比如用了未登录的空值),都会导致找不到路径触发404。
  • Storage规则没开对:
    数据库公开不代表Storage权限也开放!去控制台检查Storage的规则,临时测试可先改成全开放(上线务必改回安全规则):
    rules_version = '2';
    service firebase.storage {
      match /b/{bucket}/o {
        match /{allPaths=**} {
          allow read, write: if true;
        }
      }
    }
    
    规则修改后等1-2分钟再测试,偶尔会有生效延迟。

再检查本地文件与代码逻辑

  • 本地图片文件无效:
    选完图片后,先验证Uri对应的文件是否存在且可读。用new File(uri.getPath()).exists()和canRead()确认,尤其是相机拍照获取的Uri,很容易出现路径解析错误,实在不行换用ContentResolver读取文件流上传。
  • 上传代码细节错误:
    检查上传前是否拿到了有效的用户UID?如果用户未登录就上传,用空UID作为路径肯定出问题。另外把失败回调的完整异常栈打出来,别只看表面的404,说不定里面藏着更具体的原因:
    storageReference.putFile(fileUri)
        .addOnFailureListener(e -> {
            Log.e("StorageFail", "上传出错", e);
        });
    

最后核对项目配置

  • google-services.json是否正确:
    对比旧项目的配置文件,重点看storageBucket字段是否和当前项目的存储桶一致,别用错了其他项目的配置文件。
  • 依赖版本要统一:
    确保Firebase Auth、Storage的依赖版本和旧项目完全匹配,版本不一致很容易出现诡异问题,比如:
    implementation 'com.google.firebase:firebase-auth:22.3.0'
    implementation 'com.google.firebase:firebase-storage:20.3.0'
    

内容的提问来源于stack exchange,提问作者Trần Anh Phương Ngô

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 23:26:15