node.js - 使用 Firebase 获取 downloadURL 不断抛出错误 'XMLHttpRequest is not defined'

标签 node.js firebase firebase-realtime-database firebase-storage

尝试获取我刚刚上传到存储的图像的下载 URL 时,我不断收到“未定义 XMLHttpRequest”的消息。对这里发生的事情有什么想法吗?我可以检索元数据,但图像 url 未在方案中列出:/

Node :

import firebase, { storage } from './firebase';
const serviceAccount = require('./serviceAccountKey.json');
const admin = require('firebase-admin');
const app = express()
const dbUrl = "https://authentication.firebaseio.com"

admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: dbUrl,
  storageBucket: 'authentication.appspot.com'
});

//Initalize bucket
const bucket = admin.storage().bucket();

......
bucket.upload(imageUrl).then(result => {
        const file = result[0];
        return file.getMetadata();
      }).then(results => {
          const ref = storage.ref('users/' + userRecord.uid + '/image').downloadURL();
          console.log(ref)
          //const metadata = results[0];
          //console.log('metadata=', metadata.mediaLink);
          //firebase.database().ref('users/' + userRecord.uid + '/image').set(metadata.mediaLink);
      }).catch(error => {
          console.error(error);
      });
    })
    .catch(function(error) {
      console.log("Error creating new user:", error);
    });

贮存:
enter image description here

最佳答案

我发现使用全局 XMLHttpRequest 就足够了,所以我做了npm install xhr2并添加

global.XMLHttpRequest = require("xhr2");
到我的文件的顶部。它对我有用。

关于node.js - 使用 Firebase 获取 downloadURL 不断抛出错误 'XMLHttpRequest is not defined',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55671126/

相关文章:

mysql - Sequelize(或清除 SQL)查询以选择包含 JSON 字段值的行?

database - 在本地运行 Firestore,例如用于检测

java - Firebase数据库,查找现有值

firebase - 升级 Firebase : "Unable to load your database"

ios - Swift Firebase 查询最多需要一分钟

node.js - 使用 Sequelize 保存图像

javascript - Node js 中服务器执行期间的内存状态

node.js - 在 Express 中,满足条件时如何路由到自定义错误模板?

javascript - 当我尝试使用 Firebase 使用 React 登录 google 时,为什么会出现网络错误

javascript - Firebase HTTP 函数 CORS 问题