如何观察Firebase存储上载事件

时间:2016-05-31 17:46:39

标签: javascript firebase firebase-storage

我有一个iOS应用程序可以将照片上传到Firebase存储,还有一个连接到同一个Firebase的网络应用程序。有没有办法从网上观察存储的变化?上传照片时,只有iOS设备本身可以访问UploadTask,而我在the docs中没有看到on事件观察者的存储,就像数据库一样。

1 个答案:

答案 0 :(得分:3)

Firebase存储不提供同步"同步"作为实时数据库的功能(想象一下尝试同步1GB对象会是什么样子......)。您将要使用数据库来同步文件上传中的元数据(例如下载URL等),如下所示:

// Upload file to Firebase Storage
storageRef.putData(imageData).observeStatus(.Success) { (snapshot) in
  // When the image has successfully uploaded, get it's download URL
  let url = snapshot.metadata?.downloadURL()?.absoluteString

  // Write data to the realtime database
  dbRef.child("photos").childByAutoId().setValue(["name": snapshot.metadata?.name, "url": url])
}

...

dbRef.child("photos").observeEventType(.ChildAdded, withBlock: { (snapshot) -> Void in 
  // snapshot contains the name and URL of the uploaded file
});

Code来自Zero to App,这是我们在I / O 2016上所做的一次演讲,详细说明了这一点