【问题标题】:metadata?.storageReference?.downloadURL() returns nilmetadata?.storageReference?.downloadURL() 返回 nil
【发布时间】:2018-11-04 00:58:16
【问题描述】:

我正在尝试下载一个 url 以存储在我的数据库中,但 Firebase 中的新更新要求我使用新的方式下载 url,从而禁止我这样做。这是我的代码:

 let imageName = NSUUID().uuidString
 let storageRef = storage.reference().child("project_images").child("\(imageName)")

    guard let uplodaData = UIImageJPEGRepresentation(image, 1) else {
        return
    }


    let uploadTask = storageRef.putData(uplodaData, metadata: nil, completion: { (metadata, error) in

        if error != nil{
            print(error ?? "Failed to upload data in the uploadImages object there was an error:", error!)
            return
        }

如果我在此处设置断点,它不会继续超过下一部分,我不知道为什么。当存储在错误的节点或其他东西时,我通常会看到这些问题。

metadata?.storageReference?.downloadURL(completion: { (url, error) in


        if error != nil {
            print("Failed to download url:", error!)
            return
        }

        let url = "\(String(describing: url))"
        uploadedImageUrlsArray.append(url)

        uploadCount += 1
        if uploadCount == imagesCount{
            completionHandler(uploadedImageUrlsArray)
        }
    })
})

当我只有一个断点时,我可以检查完成中的错误变量,它是零。

谁能告诉我我在这里做错了什么。

【问题讨论】:

  • 你能更清楚地知道你在哪里放置断点吗?你有没有联系过let url = "\(String(describing: url))"
  • @Kayla Galway 不,我根本无法通过“metadata?.storageReference?.downloadURL(completion: { (url, error) in”)
  • 在那之前你检查过元数据是否为零吗?
  • 是的,不是零
  • metadata?.storageReference 也不为零?

标签: swift firebase metadata firebase-storage


【解决方案1】:

您为此特定图像创建了一个存储引用,因此请使用它而不是 metadata?.storageReference

storageRef.downloadURL(completion: { (url, error) in


    if error != nil {
        print("Failed to download url:", error!)
        return
    }

    let url = "\(String(describing: url))"
    uploadedImageUrlsArray.append(url)

    uploadCount += 1
    if uploadCount == imagesCount{
        completionHandler(uploadedImageUrlsArray)
    }
  })
})

【讨论】:

  • 成功了!非常感谢您对我的耐心等待!
  • 我有同样的问题,这解决了它,但我不认为我完全理解为什么。谢谢!
猜你喜欢
  • 1970-01-01
  • 2020-11-12
  • 1970-01-01
  • 2019-12-14
  • 1970-01-01
  • 1970-01-01
  • 2020-04-28
  • 2014-11-01
  • 1970-01-01
相关资源
最近更新 更多