【发布时间】: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