metadata?.storageReference?.downloadURL() returns 无
metadata?.storageReference?.downloadURL() returns nil
我正在尝试下载一个 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)
}
})
})
当我只是一个断点时,我可以在完成时检查错误变量,它是零。
谁能告诉我我做错了什么。
您为此特定图像创建了存储引用,因此请使用它而不是 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)
}
})
})
我正在尝试下载一个 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)
}
})
})
当我只是一个断点时,我可以在完成时检查错误变量,它是零。
谁能告诉我我做错了什么。
您为此特定图像创建了存储引用,因此请使用它而不是 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)
}
})
})