Image Firebase知道消息何时被推送?

Image Firebase知道消息何时被推送?,image,upload,firebase,Image,Upload,Firebase,我正在将图像以Base64的形式上传到Firebase,但我注意到它在上传到Firebase服务器之前显示在上传器的界面上 那么我怎么知道它什么时候上传完图像呢 或者,我如何推迟上传者界面上显示的图像,直到图像上传完毕,以便与所有用户同步显示 感谢您的帮助,提前谢谢 编辑:3月6日 好的,我将代码缩减到最低限度来演示这一点。虽然要观察这种效果,最好同时在两个不同的位置查看 HTML: JQuery: 我认为Firebase通知不会针对部分数据发出。您能显示一段再现您的问题的最小代码吗?当服务器确

我正在将图像以Base64的形式上传到Firebase,但我注意到它在上传到Firebase服务器之前显示在上传器的界面上

那么我怎么知道它什么时候上传完图像呢

或者,我如何推迟上传者界面上显示的图像,直到图像上传完毕,以便与所有用户同步显示

感谢您的帮助,提前谢谢

编辑:3月6日

好的,我将代码缩减到最低限度来演示这一点。虽然要观察这种效果,最好同时在两个不同的位置查看

HTML:

JQuery:


我认为Firebase通知不会针对部分数据发出。您能显示一段再现您的问题的最小代码吗?当服务器确认消息时,客户端库都会公开完成回调。如果你发布了一些代码,我们可以看到你是否有效地使用了它。感谢Frank&Rob的回复,我已经编辑了这个问题以包含必要的代码。
<script src='https://cdn.firebase.com/js/client/2.0.4/firebase.js'></script>
<ul id="messages"></ul>
<input id="upload" type="file" accept="image/*" onchange="uploadImage()">
var dataRef = new Firebase('https://citruso.firebaseio.com/');
var messagesRef = dataRef.child('Messages');

messagesRef.on('child_added', function(snapshot) {
  var message = snapshot.val();
  var text = message.text;
  if (text.substring(0,11) === "data:image/") {
    $('#messages').append('<img class="message-image" src="' + text + '">');
  }
  else {
    $('#messages').append('<li>' + text + '</li>');
  }
});

function uploadImage() {
  var file = document.querySelector('#upload').files[0];
  var reader = new FileReader();

  reader.onloadend = function () {
    messagesRef.push({text: reader.result});
  }
  if (file) {
    if (file.size < 10000000) {
      reader.readAsDataURL(file);
    }
    else {
      alert('File size cannot exceed 10mb.');
    }
  }
}