Swift Firebase存储映像赢得';不要为每个用户停留在原地
我有一个带有图像视图的视图控制器,用户可以将其更改为自己的照片。它可以工作,但如果我作为另一个用户登录,则加载的是以前的用户图像。如果我用当前用户更改它,返回到以前的用户…同样的事情 有人能帮我解决这个问题吗 我的Firebase存储设置的图片: 它将所有内容按userID放入,因此我不确定仅检索当前用户图像的问题是什么Swift Firebase存储映像赢得';不要为每个用户停留在原地,swift,firebase,image,storage,Swift,Firebase,Image,Storage,我有一个带有图像视图的视图控制器,用户可以将其更改为自己的照片。它可以工作,但如果我作为另一个用户登录,则加载的是以前的用户图像。如果我用当前用户更改它,返回到以前的用户…同样的事情 有人能帮我解决这个问题吗 我的Firebase存储设置的图片: 它将所有内容按userID放入,因此我不确定仅检索当前用户图像的问题是什么 func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWit
func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
picker.dismiss(animated: true, completion: nil)
guard let image = info[UIImagePickerController.InfoKey.editedImage] as? UIImage else {
return
}
guard let imageData = image.jpegData(compressionQuality: 0.1) else {
return
}
if Auth.auth().currentUser != nil {
let userID = Auth.auth().currentUser?.uid
let storage = Storage.storage().reference()
storage.child("user").child(userID!).child("file.jpeg").putData(imageData, metadata: nil, completion: {_, error in
guard error == nil else {
print("Error in uploading Image")
return
}
if Auth.auth().currentUser != nil {
let userID = Auth.auth().currentUser?.uid
let storage = Storage.storage().reference()
storage.child("user").child(userID!).child("file.jpeg").downloadURL(completion: {url, error in
guard let url = url, error == nil else {
return
}
let urlString = url.absoluteString
DispatchQueue.main.async {
self.profileImage.image = image
}
print("Download URL: \(urlString)")
UserDefaults.standard.set(urlString, forKey: "url")
})
}
})
}
}
}可能是代码格式问题,但为什么要上传照片
putData
,然后立即下载同一张照片?另外,登录/注销用户的代码在哪里?