Swift 将用户配置文件图片保存到firebase

Swift 将用户配置文件图片保存到firebase,swift,firebase,uiviewcontroller,uiimagepickercontroller,firebase-storage,Swift,Firebase,Uiviewcontroller,Uiimagepickercontroller,Firebase Storage,下午好,我正在尝试允许用户在firebase中保存他们的个人资料图片。我的应用程序运行时没有崩溃。但是,当我选择图片时,它不会保存到系统中。我有一个ViewController和一个扩展文件,我一直把代码放在其中。我会把它放在下面。请帮助我理解我做错了什么。希望这个问题能帮助其他面临同样问题的人 import UIKit import Firebase class EditProfileVC: UIViewController { override func viewDidLoad() {

下午好,我正在尝试允许用户在firebase中保存他们的个人资料图片。我的应用程序运行时没有崩溃。但是,当我选择图片时,它不会保存到系统中。我有一个ViewController和一个扩展文件,我一直把代码放在其中。我会把它放在下面。请帮助我理解我做错了什么。希望这个问题能帮助其他面临同样问题的人

import UIKit
import Firebase

class EditProfileVC: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

    setupProfileImageView()
    self.view.backgroundColor = UIColor.white

}
func setupProfileImageView() {
    view.addSubview(profileImageView)
    profileImageView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    profileImageView.topAnchor.constraint(equalTo: self.view.topAnchor, constant: 100).isActive=true
    profileImageView.widthAnchor.constraint(equalToConstant: 120).isActive = true
    profileImageView.heightAnchor.constraint(equalToConstant: 120).isActive = true
    profileImageView.layer.cornerRadius = 60
    profileImageView.layer.masksToBounds = true
   var randomString = UUID().uuidString
    let storageRef = Storage.storage().reference().child;"\(randomString).png")

    if let uploadImage = UIImagePNGRepresentation(self.profileImageView.image!) {

        storageRef.putData(uploadImage, metadata: nil) { (metadata, error) in
            if error != nil {
                print("Error upload data to Firebase Storage. Detail: \(String(describing: error))")
                return
            }
            if let profileImageURl = metadata?.downloadURL()?.absoluteString {
            self.registerUser(UserId: userId, profileImageURL: profileImageURL) {
            }
        }
    }
    }

}
lazy var profileImageView: UIImageView = {
    let imageView = UIImageView()
    imageView.image = UIImage(named: "users")
    imageView.translatesAutoresizingMaskIntoConstraints = false
    imageView.contentMode = .scaleAspectFill

    imageView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(handleSelectProfileImageView)))
    imageView.isUserInteractionEnabled = true
    return imageView
}()

}
//这是我的扩展文件

import UIKit
import Firebase
extension EditProfileVC: UIImagePickerControllerDelegate, UINavigationControllerDelegate{

@objc func handleSelectProfileImageView() {
let picker = UIImagePickerController()
picker.delegate = self
picker.allowsEditing = true

present(picker, animated: true, completion: nil)
}

func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [String : Any]) {
    var selectedImageFromPicker: UIImage?
    dismiss(animated: true, completion: nil)
    if let editedImage = info["UIImagePickerControllerEditedImage"] {
        selectedImageFromPicker = editedImage as? UIImage
    } else if let originalImage = info["UIImagePickerControllerOriginalImage"] {
        selectedImageFromPicker = originalImage as? UIImage
    }        
    if let selectedImage = selectedImageFromPicker {
        profileImageView.image = selectedImage
    }

    print(info)
}
func imagePickerControllerDidCancel(_ picker: UIImagePickerController) {
    print("Canceled Picker")
    dismiss(animated: true, completion: nil)

 }
 }
我的应用程序在运行时不会崩溃。只是firebase中没有存储任何图像。我希望用户点击EditProfileVC,然后能够更改他们的个人资料图片并保存。如果有人能帮我解决这个问题,我将不胜感激