【发布时间】:2020-01-22 22:49:58
【问题描述】:
嘿,我是 Xcode 的新手,需要帮助将我的个人资料图片从 firebase 数据库上传到我的用户个人资料。到目前为止我没有收到任何错误,但是当我的用户登录时图像没有出现,图像已经存储在 firebase 但是当我将 UIImageView 附加到用户配置文件时,图像显示为空白有没有人有解决此代码的解决方案让我的图像在用户登录后出现在用户个人资料中应该是自动的吗?
typealias blockCompletedWith = (Bool, String) -> Void
//path: folder name if any followed by name of image
func uploadImageToFirebaseStorage(data: Data, path: String, blockCompletedWith: @escaping blockCompletedWith) {
let metadata = StorageMetadata()
metadata.contentType = "profileImage.jpg"
let store = Storage.storage()
let storeRef = store.reference().child(path)
let _ = storeRef.putData(data, metadata: metadata) { (metadata, error) in
guard let _ = metadata else {
print("error occured: \(error.debugDescription)")
blockCompletedWith(false, "")
return
}
storeRef.downloadURL(completion: { (url, error) in
if let urlText = url?.absoluteString {
blockCompletedWith(true, urlText)
}
else {
blockCompletedWith(false, "")
}
})
}
}
if let profileImageUrl = dictionary?["gs://tunnel-vision-d6825.appspot.com"] as? String {
let url = URL(string: profileImageUrl)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
if let error = error{
print("Error : \(error)")
return
}
DispatchQueue.main.async {
self.ProfileImage.image = UIImage(data: data!)
}
}.resume()
}
【问题讨论】:
标签: ios image firebase firebase-realtime-database uiimageview