firebase 存储:storage.ref 不是函数

firebase storage: storage.ref is not a function

我想将 Firebase 的存储服务与 nodeJS api(托管在“firebase 功能”上)一起使用,以允许用户上传他的头像。

所以我阅读了 https://firebase.google.com/docs/storage/web/start

的文档

我也是:

admin.js

const admin = require('firebase-admin');
const config = require('./config.js');

admin.initializeApp(config);

const db = admin.firestore();
const storage = admin.storage();

module.exports = { admin, db, storage };

user.js

const { admin, db, storage } = require('../util/admin');

exports.postAvatar = async (request, response) => {

  const storageRef = storage.ref();

}

但我有以下错误:storage.ref is not a function

文档中是否缺少某些内容?

存储const的console.log为:

Storage {
  INTERNAL: StorageInternals {},
  storageClient: Storage {...},
  appInternal: FirebaseApp {...}
}

试试下面的代码。

const storage = storage.bucket() // you can also put your bucket-id from config
const storageRef = storage.ref()

同时检查这个答案。

admin.storage() returns a Storage object. If you want to use it to refer to a file in your default storage bucket, you should use its bucket() method with no parameters, and it will give you a Bucket 来自 Google Cloud nodejs SDK 的对象。

该 SDK 中的任何地方都没有名为 ref() 的方法。它不太像 JavaScript 网络客户端 SDK。在使用 Cloud Storage node SDK 时,您将必须学习不同但相似的 API 来处理内容。 Admin SDK 基本上包装了这个 API.

const file = storage.bucket().file('/path/to/file');