【问题标题】:Server Can't Find Firebase Storage Default Bucket?服务器找不到 Firebase 存储默认存储桶?
【发布时间】:2021-08-25 03:57:58
【问题描述】:

我似乎很难理解为什么服务器找不到存储桶。我正在将令牌和其他重要信息作为字符串写入单独的文件中。然后,我将其拆分并在 javascript 中使用相应的文本。

这是我遇到的错误。

这里是储藏室。

这是文件夹的格式。

我也在使用 Browserify 将 javascript 打包成一个包。

如果有人对如何调试有解决方案或建议,将不胜感激! Javascript:

Github 仓库:https://github.com/jpaints3/DOWNKOREFetch

//script.js
const firebase = require('firebase/app').default;
require('firebase/functions');
require('firebase/storage');

const fileUrl = window.location.href + 'tokensPlusAuth.txt'; // provide file location

fetch(fileUrl)
    .then(r => r.text())
    .then(t => {

        //<------------- Initialize Firebase Storage ------------->

        // access the text file with sensitive information
        console.log(t.split(/\n/));
        let tokenINFO = t.split(/\n/);

        // access firebase storage with this information
        let firebaseConfig = {
            apiKey: tokenINFO[1],
            authDomain: tokenINFO[3],
            databaseURL: tokenINFO[5],
            storageBucket: tokenINFO[9]
        };

        const app = firebase.initializeApp(firebaseConfig);
        var storage = firebase.storage();

        // create location references
        var storageRef = storage.ref();
        var videosRef = storageRef.child('videos');


        //<------------- Place User Files in Storage ------------->

        function sendFiles(videosRef, dancerName, inputFiles){
            let fileName = dancerName;
            let fileRef = videosRef.child(fileName);

            fileRef.put(inputFiles).then(() => {
                console.log('Uploaded the files!');
            });
        }

        let dancerName = document.getElementById('dancerName').value;
        let inputFiles = document.getElementById('inputFiles').files;
        document.getElementById('uploadBtn').addEventListener('click', sendFiles(videosRef, dancerName, inputFiles));
    });

//server.js
const fs = require('fs');
const http = require('http');

const hostname = '127.0.0.1';

var express = require("express")
var logger = require("morgan")
var bodyParser = require("body-parser")

var app = express()

app.get('/', function (request, response) {
    response.render('index.ejs')
})

app.set('view engine', 'ejs')

app.use(express.static('views'))
app.set('views', __dirname)
app.use(logger('dev'))

var port = process.env.PORT || 3000

app.listen(port, function () {
    console.log(`App running on http://${hostname}:${port}/`)
})

//use npm init
//use npm install --save express ejs morgan body-parser
//may need to use npm install firebase-admin

<!--index.ejs-->
<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8" />
    <title>Upload Information</title>
</head>

<body>
    <div>
        <input type="text" name="dancerName" id="dancerName" placeholder="Which dancer is this?">
        <input type="file" name="inputFiles" id="inputFiles" multiple>
        <input type="button" id="uploadBtn" value="Upload">
    </div>

    <script type="text/javascript" src="./dist/bundle.js"></script>
    <script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-app.js"></script>
    <script src="https://www.gstatic.com/firebasejs/8.6.1/firebase-firestore.js"></script>
</body>

</html>
### FIREBASE API KEY ###
'IIIIIIIIIIIIIIIIIIIIIIIIIII'
### FIREBASE AUTH DOMAIN ###
'downkorefetch.firebaseapp.com'
### FIREBASE DATABASE URL ###
'https://downkorefetch.firebaseio.com'
### CLOUD FIRESTORE PROJECT ID ###
'downkorefetch'
### STORAGE BUCKET ###
'gs://downkorefetchvideos'
### MESSENGER_SENDER_ID ###
'IIIIIIIIIIIIIIIII'
### APP_ID ###
'IIIIIIIIIIIIIIIIIIIIIIIIIII'
### MEASUREMENT_ID ###
'IIIIIIIIIIIIIIIII'


tokensPlusAuth.txt^

【问题讨论】:

    标签: javascript node.js firebase google-cloud-storage firebase-storage


    【解决方案1】:

    您的 api 在连接 firebase 时遇到问题。可能此错误是因为他无法从 .txt 文件中获取此配置(以这种方式)。尝试这样做

    像这样创建一个常量(由firebase在配置中生成):

    require('firebase/functions');
    require('firebase/storage');
    
    const firebaseConfig = {
      apiKey: <value>
      authDomain:  <value>
      databaseURL:  <value>
      projectId:  <value>
      storageBucket:  <value>
      messagingSenderId:  <value>
      appId:  <value>
      measurementId: <value>
    };
    const app = initializeApp(firebaseConfig);
    
    // rest of the code
    

    【讨论】:

      猜你喜欢
      • 2017-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-06
      • 2018-09-29
      • 2020-01-02
      • 2018-03-01
      • 1970-01-01
      相关资源
      最近更新 更多