gpt4 book ai didi

javascript - Firebase Web 文件上传代码 : "app/duplicate-app"

转载 作者:行者123 更新时间:2023-12-03 00:57:46 24 4
gpt4 key购买 nike

我正在尝试通过 firebase 在我的网站上上传图像和视频,第一次上传有效,第二次上传在我的控制台上显示此消息:

firebase.js:1 Uncaught {code: "app/duplicate-app", message: "Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app).", name: "[DEFAULT]", stack: "[DEFAULT]: Firebase: Firebase App named '[DEFAULT]…(https://code.jquery.com/jquery-3.3.1.js:4991:28)"} code: "app/duplicate-app" message: "Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app)." name: "[DEFAULT]" stack: "[DEFAULT]: Firebase: Firebase App named '[DEFAULT]' already exists (app/duplicate-app).↵ at error (https://www.gstatic.com/firebasejs/5.5.3/firebase.js:1:49452)↵ at Object.initializeApp (https://www.gstatic.com/firebasejs/5.5.3/firebase.js:1:48095)↵ at fileInput (http://xxx.tv/theme/js/js.js:115:12)↵ at HTMLAnchorElement. (http://xxx.tv/theme/js/js.js:93:13)↵ at HTMLAnchorElement.dispatch (https://code.jquery.com/jquery-3.3.1.js:5183:27)↵ at HTMLAnchorElement.elemData.handle (https://code.jquery.com/jquery-3.3.1.js:4991:28)" proto: Error

此外,当我尝试上传视频不起作用时,它会返回一条消息,表明我没有发送任何数据:

Uncaught e {code_: "storage/invalid-argument", message_: "Firebase Storage: Invalid argument in put at index 0: Expected Blob or File.", serverResponse_: null, name_: "FirebaseError"}

HTML:

    <label for="videoUpload">
<i for="videoUpload" class="material-icons videoUploadIcon">videocam</i>
<input id="videoUpload" class="videoUpload" type="file" accept="video/*" style="display: none;">
</label>

JS 文件

 $(document).ready(function(){
var config = {
apiKey: "",
authDomain: "web-test-.com",
databaseURL: "com",
projectId: ",
storageBucket: ".appspot.com",
messagingSenderId: ""
};
firebase.initializeApp(config);
});

$(function(){
$("#postBtn").on('click', function(e){
e.preventDefault();
var postField = $('#postField').val();
var image = $('#imgupload')[0].files[0];
var video = $('.videoUpload')[0].files[0];
fileInput(postField,image,video);
$('#contentToUpload').hide();
$('.videoUploadIcon').show();
});
});
// <!-- ADD POST -->
// INPUT FILE FUNCTION
function fileInput(postField, image, video) {

if (image != null) {
uploadFile(image)
} else if (video != null) {
uploadFile(video)
} else {
console.log('youre upload cant be blank!');
}


}


function uploadFile(file) {
var database = firebase.database();
var storage = firebase.storage();
const storageRef = storage.ref();
var generatedName = Math.random().toString(36).substr(2, 20);
const uploadTask = storageRef.child(`images/${generatedName}`).put(file); //create a child directory called images, and place the file inside this directory
uploadTask.on('state_changed', (snapshot) => {
uploadTask.on(firebase.storage.TaskEvent.STATE_CHANGED, function(snapshot) {
var percent = snapshot.bytesTransferred / snapshot.totalBytes * 100;
$('.progress').css("display", "block");
$('.numPercentage').css("display", "block");
$('.determinate').width(parseInt(percent) + '%');
$('.numPercentage').html(parseInt(percent) + '%');
});
}, (error) => {
// Handle unsuccessful uploads
console.log(error);
}, () => {
uploadTask.snapshot.ref.getDownloadURL().then(function(downloadURL) {
console.log('File available at', downloadURL);
});
console.log('success');
setTimeout(function() {
$('.numPercentage').fadeOut(1000).css("display", "none");
$('.determinate').fadeOut(1000).css("display", "none");
$('.progress').fadeOut(1000).css("display", "none");
$('.numPercentage').val("");
$('.determinate').val("");
}, 2000);
document.getElementById("postField").value = null;
document.getElementById("imgupload").value = null;
document.getElementById("videoUpload").value = null;
setTimeout(function() {
$('.feed-posts').load('/php/posts.php').fadeIn('slow');
}, 1000);
});
}
}

// INPUT FILE FUNCTION

最佳答案

每次页面加载时,您只能调用 firebase.initializeApp() 一次。现在,您在每次上传时都会调用它。

关于javascript - Firebase Web 文件上传代码 : "app/duplicate-app",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52749382/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com