【发布时间】:2021-06-11 12:45:35
【问题描述】:
下午好社区,
在我的 Swift 应用中,每个用户都有相同的个人资料图片,该图片已上传到 Firebase 存储。我怎样才能改变它,让每个用户都有自己独特的头像?
我如何上传图片:
@IBAction func UploadImage(_ sender: Any) {
let picker = UIImagePickerController()
picker.sourceType = .photoLibrary
picker.delegate = self
picker.allowsEditing = true
present(picker, animated: true)
}
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.pngData() else {
return
}
storage.child("images/file.png").putData(imageData, metadata: nil, completion: { _, error in
guard error == nil else {
print("Failed to upload")
return
}
})
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
picker.dismiss(animated: true, completion: nil)
}
}
我如何下载它们:
func downloadImages() {
let storageRef = Storage.storage().reference()
// Reference to an image file in Firebase Storage
let reference = storageRef.child("images/file.png")
// UIImageView in your ViewController
let imageView: UIImageView = self.imageView
// Placeholder image
let placeholderImage = UIImage(named: "placeholder.jpg")
// Load the image using SDWebImage
imageView.sd_setImage(with: reference, placeholderImage: placeholderImage)
}
感谢您的帮助!!!我在这里没有发现这个问题...
编辑: 为每个用户下载图片
if Auth.auth() != nil {
let storageRef = Storage.storage().reference()
// Reference to an image file in Firebase Storage
let reference = storageRef.child("images/"+Auth.auth().currentUser!.uid+".png")
// UIImageView in your ViewController
let imageView: UIImageView = self.imageView
// Placeholder image
let placeholderImage = UIImage(named: "placeholder.jpg")
// Load the image using SDWebImage
imageView.sd_setImage(with: reference, placeholderImage: placeholderImage)
}
【问题讨论】:
标签: swift firebase firebase-storage