ios - 如何知道我上传到 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}
解决方案
这就是完成处理程序的用途。您已经将完成处理程序传递给 putData,上传完成时将调用该处理程序。您应该检查错误对象以确保它成功完成。
这与代码示例一起记录在案。 您可以在示例中看到下载 URL 是从完成处理程序内部获取的,只有在没有错误的情况下。
推荐阅读
- javascript - 即使我的代码中有 catch 部分,我也会收到 Unhandled Promise Rejection 错误
- reactjs - 如何在 cpanel 上部署与 react 和 redux 集成的 nextjs 应用程序
- shell - sh中局部变量的作用域
- python - Python 正则表达式匹配段落
- powershell - 从 Office 365 通讯组导出电子邮件地址和手机号码
- laravel - 具有多个表连接的第二个表的行数
- javascript - 在 ReactJs 中创建一个弹出窗口
- node.js - 欢迎页面未在 nodejs 中显示
- java - 如何查找以给定字母开头的单词
- ruby-on-rails-5 - 我们可以从rails5中的视图页面调用一个函数吗