我有将多个图像保存到 firebase 的代码。我更新了我的 pod,之后我不得不更改我的 downloadURL 代码。这样做之后,url 不会出现在数据库中,它的“帖子部分”也不会出现。这个问题似乎类似于 this一。在控制台中,我收到以下错误:
Error Domain=FIRStorageErrorDomain Code=-13010 "Object email@email.com/post/string#.string#.jpg does not exist." UserInfo={object=email@email.com/post/string#.string#.jpg, ResponseBody={
和:
}, bucket=yubipracticearraybasicimg1.appspot.com, data=<7ba2020 2265722 6f72223a 207b020 20202022 636f465 2232034 30342c0a 20202020 226d6573 73616765 223a2022 4e6f420 46f756e 642e2020 436f56c 642066f 7426765 7406f62 6a656374 220a2020 7d0a7d>, data_content_type=application/json; charset=UTF-8, NSLocalizedDescription=Object email@email.com/post/string#.string#.jpg does not exist., ResponseErrorDomain=com.google.HTTPStatus, ResponseErrorCode=404}
这些都是在我按下将数据发送到 firebase 的按钮后发生的。 以下是有问题的代码:
block 1:
storageRef.downloadURL { (url, error) in
if error != nil {
print("Failed to download url:", error!)
return
}
let imageUrl = "\(String(describing: url))"
postRef.child(autoID).setValue(imageUrl)
}
第 2 部分:
storageRef.downloadURL { (url, error) in
if error != nil {
print("Failed to download url:", error!)
return
}
let imageUrl = "\(String(describing: url))"
// let value = ["Image\(self.number)": imageUrl] as [String : Any]
let value = [autoID: imageUrl] as [String : Any]
postRef.updateChildValues(value)
}
在此先感谢您的帮助!
最佳答案
您可能正在为两个 block 所在的 put 数据方法使用不同的 URL 存储引用。
您可能遇到这样的情况,其中 childStorageRef 与 storageRef 不同:
childStorageRef.putData(uploadData, metadata: nil) { (metadata, err) in
storageRef.downloadURL { (url, error) in
if error != nil {
print("Failed to download url:", error!)
return
}
let imageUrl = "\(String(describing: url))"
postRef.child(autoID).setValue(imageUrl)
}
}
将引用更改为此:
storageRef.putData(uploadData, metadata: nil) { (metadata, err) in
storageRef.downloadURL { (url, error) in
if error != nil {
print("Failed to download url:", error!)
return
}
let imageUrl = "\(String(describing: url))"
postRef.child(autoID).setValue(imageUrl)
}
}
block 2 也是如此。希望这对您有所帮助!
关于ios - FirebaseStorage 中的图像 url 不存在。, ResponseErrorDomain=com.google.HTTPStatus, ResponseErrorCode=404}?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52007881/