如何检查图像上传到Firebase存储的进度

时间:2016-08-22 22:51:43

标签: ios swift firebase-realtime-database firebase-authentication firebase-storage

当用户注册我的应用时,他们会选择个人资料图片,输入姓名,电子邮件和密码。我使用firebase使用电子邮件和密码对它们进行身份验证。我正在使用FIRAuth.auth()?.addAuthStateDidChangeListener来检测用户身份验证状态的变化。如果用户已经过身份验证,则执行内部代码(此代码将用户发送到下一个viewController)。问题是在将我的数据添加到实时数据库和FirebaseStorage之前,内部代码会触发。有没有办法监控两个任务何时成功,那么我可以触发视图控制器的更改?谢谢。

1 个答案:

答案 0 :(得分:7)

Firebase有关于如何跟踪上传到其服务器的文件进度的tutorial

let storageRef = FIRStorage.reference().child("folderName/file.jpg");
let localFile: NSURL = // get a file;

// Upload the file to the path "folderName/file.jpg"
let uploadTask = storageRef.putFile(localFile, metadata: nil)

let observer = uploadTask.observeStatus(.Progress) { snapshot in
  print(snapshot.progress) // NSProgress object
}
  

此快照为您提供有用的信息,例如总大小   到目前为止,文件的字节数和上传的字节数。运用   此信息,您可以计算上传的百分比并使用它   更新应用中的任何UI控件。