【发布时间】:2022-01-12 03:20:10
【问题描述】:
在应用上注册时,用户会被记录到 Firebase 身份验证中,但其个人资料图片不会上传到 Firebase 存储。代码编译也很好。
private func persistImageToStorage() {
guard let uid = Auth.auth().currentUser?.uid
else { return }
let ref = Storage.storage().reference(withPath: uid)
guard let imageData = self.image?.jpegData(compressionQuality: 0.5) else { return }
ref.putData(imageData, metadata: nil) { metadata, err in
if let err = err {
self.loginStatusMessage = "Couldn't upload your photo \(err)"
return
}
ref.downloadURL { url, err in
if let err = err {
self.loginStatusMessage = "Error uploading your photo \(err)"
return
}
self.loginStatusMessage = "Photo successfully uploaded!"
print(url?.absoluteString)
}
}
}
搜索了相关问题,没有人收到同样的错误。 Firebase 也已更新到最新版本!
【问题讨论】:
-
“得到同样的错误”——错误是什么?您是否使用调试器查看您的代码是否通过了所有阶段?例如,它是否通过
guard语句实现?它会进入downloadURL闭包吗?是否点击“无法上传您的照片”行? -
实际上没有!我只是使用了断点,它似乎没有让它通过
ref.putData。它也从不显示“无法上传您的照片”的消息 -
它会进入
ref.downloadURL闭包吗? -
也没有,也没有“上传照片时出错”的消息
-
你在哪里打印消息?在 loginStatusMessage didSet?
标签: ios swift firebase firebase-storage