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

Node.js环境下Firebase Storage上传JPG报错‘Could not load the default credentials’及上传至主存储文件夹方法咨询

解决Firebase Storage上传的凭证错误与主文件夹上传问题

一、修复「默认凭证加载失败」的错误

你遇到的这个错误是因为Firebase Admin SDK(服务端SDK)不能直接用客户端的firebaseConfig完成身份验证——它需要服务账号密钥来做服务端身份校验。具体解决步骤如下:

  • 先登录Firebase控制台进入你的项目:

    1. 点击左侧菜单栏的「设置」图标 → 选择「服务账号」标签页
    2. 滚动到「Firebase Admin SDK」区域,点击「生成新的私钥」,下载生成的JSON密钥文件(存到项目目录里,别提交到代码仓库)
  • 有两种配置凭证的方式可选:

    1. 环境变量方式(推荐):
      在终端设置环境变量指向密钥文件路径:

      # macOS/Linux
      export GOOGLE_APPLICATION_CREDENTIALS="/absolute/path/to/your/service-account-key.json"
      # Windows(命令提示符)
      set GOOGLE_APPLICATION_CREDENTIALS="C:\absolute\path\to\your\service-account-key.json"
      # Windows(PowerShell)
      $env:GOOGLE_APPLICATION_CREDENTIALS="C:\absolute\path\to\your\service-account-key.json"
      

      之后初始化代码可以简化为:

      const { initializeApp } = require("firebase-admin/app");
      const { getStorage } = require("firebase-admin/storage");
      
      // SDK会自动读取环境变量里的凭证和项目信息,无需传firebaseConfig
      initializeApp();
      const bucket = getStorage().bucket();
      
    2. 代码中直接指定凭证:
      不想用环境变量的话,可在代码里导入密钥文件初始化:

      const { initializeApp, cert } = require("firebase-admin/app");
      const { getStorage } = require("firebase-admin/storage");
      // 替换成你的密钥文件实际路径
      const serviceAccount = require("./service-account-key.json");
      
      initializeApp({
        credential: cert(serviceAccount),
        // 填存储桶完整名称,格式为「<项目ID>.appspot.com」,可在Firebase存储控制台查看
        storageBucket: "your-project-id.appspot.com"
      });
      
      const bucket = getStorage().bucket();
      

二、将文件上传至Firebase Storage的主存储文件夹

其实bucket.upload()方法默认就会把文件上传到存储桶的根目录(即主文件夹),只要本地文件路径正确就行。如果要明确指定上传位置或修改文件名,可通过destination参数设置:

// 直接上传到根目录,文件名保持1.jpg
bucket.upload("./1.jpg", {
  destination: "1.jpg" // 这里可修改根目录下的文件名,比如改成"avatar.jpg"就能重命名上传
});

注意:如果1.jpg不在当前Node.js进程的工作目录下,记得用绝对路径,或者调整相对路径确保能找到文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.29 00:22:34