Javascript Firebase storage无法使用按钮上载文件
就我而言,下面的代码运行良好,这与问题代码几乎相同Javascript Firebase storage无法使用按钮上载文件,javascript,Javascript,就我而言,下面的代码运行良好,这与问题代码几乎相同 var file; /////detect if file is upload///////// $("#file").on('change',function(e){ file = e.target.files[0]; }); /////function for upload to storage button when clicked/////////// function uploadFile(){ v
var file;
/////detect if file is upload/////////
$("#file").on('change',function(e){
file = e.target.files[0];
});
/////function for upload to storage button when clicked///////////
function uploadFile(){
var storageRef = firebase.storage().ref('/pics/'+file.name);
var task = storageRef.put(file);
console.log("yes");
}
您的错误是什么?“不能”不是错误消息或问题陈述。没有人能解决“不能”。请在您的问题中添加一些文字,以澄清您遇到的确切问题。有关询问高质量、有用问题的更多指导,请参阅。谢谢。@KingStone当我将storage ref和task放在onChange函数中时,它可以工作,但不在uploadFile()函数中。我只想在用户单击“提交”后保存文件。(否则,如果用户想为其个人资料选择不同的图像,他们的存储中会有许多图像)。我以前尝试过这种放置方式,但没有成功。不知怎么的,你让它起作用了。谢谢你,伙计!
<html>
<header>
<script src="https://www.gstatic.com/firebasejs/5.6.0/firebase.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script>
var config = {
apiKey: " ",
authDomain: " ",
databaseURL: " ",
projectId: " ",
storageBucket: " ",
messagingSenderId: " "
};
firebase.initializeApp(config);
$(document).ready(function () {
var file;
$("#file").on('change', function (e) {
file = e.target.files[0];
});
$('#btnUpload')
.click(function () {
if (file == null || file.name == null) {
alert("Please select file");
return;
}
var storageRef = firebase.storage().ref('/pics/' + file.name);
var task = storageRef.put(file)
.then((snapshot) => {
console.log('Uploaded a blob or file!', snapshot);
})
.catch(error => {
console.error(error)
});
});
});
</script>
</header>
<body>
<h3>Upload File</h3>
<div>
<input type="file" id="file" class="form">
<button class="btn btn-danger" id="btnUpload">Upload</button>
</div>
</body>
</html>
var task = storageRef.put(file)
.then((snapshot) => {
console.log('Uploaded a blob or file!', snapshot);
})
.catch(error => {
console.error(error)
});