【发布时间】: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