我有一个iOS应用程序可以将照片上传到Firebase存储,还有一个连接到同一个Firebase的网络应用程序。有没有办法从网上观察存储的变化?上传照片时,只有iOS设备本身可以访问UploadTask,而我在the docs中没有看到on
事件观察者的存储,就像数据库一样。
答案 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上所做的一次演讲,详细说明了这一点