如何知道我要上传到Firebase的文件是否上传完毕?

时间:2018-09-13 21:28:03

标签: ios swift firebase firebase-storage

我正在迅速使用Firebase。 下面是我的代码,用于从图像选择器上载图像并存储图像的下载URL。 我的代码的重点是在上传图片后存储下载网址。 因此,我试图找到一种方法来等待上传过程完成才能继续。

_ = imageRef.putData(data, metadata: nil, completion: {(metadata,error) in
                guard let metadata = metadata

                    else{
                    print(error)

                    return
                }

            })
imageRef.downloadURL { (URL, error) -> Void in
                                                if (error != nil) {
                                                    // Handle any errors

                                                } else {
                                                    // Get the download URL for 'images/stars.jpg'

                                                    let UrlString = URL?.absoluteString}

1 个答案:

答案 0 :(得分:1)

这就是完成处理程序的用途。您已经将完成处理程序传递给putData,上传完成后将调用该处理程序。您应该检查错误对象以确保其成功完成。

This is documented, along with a code sample.您可以在示例中看到,只有在没有错误的情况下,下载URL才从完成处理程序内部获取。