Node.js (Express) Firebase Storage 大多数功能不工作
Node.js (Express) Firebase Storage most functions don't work
所以,storage.ref() 有效,storage.child("some.txt") 有效,return 是一个文件引用,我可以通过 [=20 得到它的名字=].姓名.但我无法下载 link 也无法上传文件。
我的配置如下:
|-firebase
|-firebase.js
|-storage.js
|-index.js
firebase.js:
const firebase = require('firebase/app');
global.XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
let firebaseStorage = require('firebase/storage');
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "abc", //real credentials are provided
authDomain: "def", //real credentials are provided
projectId: "xyz", //real credentials are provided
storageBucket: "hi", //real credentials are provided
messagingSenderId: "idk", //real credentials are provided
appId: "some" //real credentials are provided
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
console.log('[FIREBASE] Firebase Init')
module.exports = firebase;
而存储只是导出 firebase.storage();没什么太多。
这里的问题是:
这没有 return 任何东西,整个代码都停留在这一点上:
let fileRef = storageRef.child('myfile.txt');
fileRef.getDownloadURL().then((downloadURL) => {
console.log('File available at: ', downloadURL);
res.send(downloadURL);
});
我花了很多时间试图找到类似的问题并为此使用不同的库,但我找不到任何东西。
Firebase javascript 模块设计用于在浏览器环境中工作,对于 node.js 建议使用具有有限凭据的 admin sdk 或 GCloud Node。您可以将其与现有存储桶和典型的 Firebase 设置一起使用。
引用 Firebase 开发人员的话:
Since Google Cloud Storage already provides a number of high-quality client libraries, we didn't want to reimplement another
客户端环境:GCP integration
服务器环境:Admin-sdk Get Started
来到这里尝试修复它的每个人,这就是我所做的。
我使用了 firebase-admin 并将其导出到 var admin
(在使用 serviceAcc 初始化之后)
然后我做了 var storage = admin.storage()
然后得到 @google-cloud/storage
Bucket 实例 storage.bucket()
现在我可以下载、上传和执行 @google-cloud/storage
Bucket 包含的所有内容。感谢 @DIGI Byte 帮助我
所以,storage.ref() 有效,storage.child("some.txt") 有效,return 是一个文件引用,我可以通过 [=20 得到它的名字=].姓名.但我无法下载 link 也无法上传文件。 我的配置如下:
|-firebase
|-firebase.js
|-storage.js
|-index.js
firebase.js:
const firebase = require('firebase/app');
global.XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
let firebaseStorage = require('firebase/storage');
// Your web app's Firebase configuration
var firebaseConfig = {
apiKey: "abc", //real credentials are provided
authDomain: "def", //real credentials are provided
projectId: "xyz", //real credentials are provided
storageBucket: "hi", //real credentials are provided
messagingSenderId: "idk", //real credentials are provided
appId: "some" //real credentials are provided
};
// Initialize Firebase
firebase.initializeApp(firebaseConfig);
console.log('[FIREBASE] Firebase Init')
module.exports = firebase;
而存储只是导出 firebase.storage();没什么太多。 这里的问题是: 这没有 return 任何东西,整个代码都停留在这一点上:
let fileRef = storageRef.child('myfile.txt');
fileRef.getDownloadURL().then((downloadURL) => {
console.log('File available at: ', downloadURL);
res.send(downloadURL);
});
我花了很多时间试图找到类似的问题并为此使用不同的库,但我找不到任何东西。
Firebase javascript 模块设计用于在浏览器环境中工作,对于 node.js 建议使用具有有限凭据的 admin sdk 或 GCloud Node。您可以将其与现有存储桶和典型的 Firebase 设置一起使用。
引用 Firebase 开发人员的话:
Since Google Cloud Storage already provides a number of high-quality client libraries, we didn't want to reimplement another
客户端环境:GCP integration
服务器环境:Admin-sdk Get Started
来到这里尝试修复它的每个人,这就是我所做的。
我使用了 firebase-admin 并将其导出到 var admin
(在使用 serviceAcc 初始化之后)
然后我做了 var storage = admin.storage()
然后得到 @google-cloud/storage
Bucket 实例 storage.bucket()
现在我可以下载、上传和执行 @google-cloud/storage
Bucket 包含的所有内容。感谢 @DIGI Byte 帮助我