首页 > 解决方案 > 如何知道我上传到 firebase 的文件是否已完成上传?

问题描述

我正在快速使用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}

标签: iosswiftfirebasefirebase-storage

解决方案


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

这与代码示例一起记录在案。 您可以在示例中看到下载 URL 是从完成处理程序内部获取的,只有在没有错误的情况下。


推荐阅读