Как сохранить изображение профиля пользователя с помощью swift и загрузить его для конкретного пользователя, вошедшего в систему с помощью firebase? - PullRequest
0 голосов
/ 25 апреля 2019

У меня есть основные действия по созданию пользователя, имя, адрес электронной почты и пароль.Я пытаюсь сохранить изображение профиля пользователя и загрузить его на страницу своего профиля после входа в систему.Как мне это сделать?

Я уже сохранил имя пользователя и адрес электронной почты в своей базе данных, но я не уверен, как сохранить их фотографию в профиле.Я попытался найти проблему с переполнением стека, но большинство найденных решений было слишком старым.

func saveUserProfile(){
    let userRefrence = Database.database().reference().child("Users").childByAutoId()

    let userDictionary:[String:String] = ["name":users.name, "email" :users.userEmail]
    self.userRefrence.setValue(userDictionary)
}

1 Ответ

0 голосов
/ 25 апреля 2019

Если вы уже используете Firebase, то сначала вам нужно сохранить изображение с помощью Firebase Storage.

Здесь мы берем ссылку на хранилище и преобразуем наше изображение в данные.

let fileName = NSUUID().uuidString
let profileImagesRef = Storage.storage().reference().child("profile_images/\(fileName)")

guard let uploadData = UIImageJPEGRepresentation(image, 0.3) else {
    return
}

Затем мы фактически сохраняем наши данные в Firebase Storage

profileImagesRef.putData(uploadData, metadata: nil, completion: { (metadata, error) in
    if let error = error {
        return
    }

    // After the image has been successfully uploaded we need to grab its download url

    profileImagesRef.downloadURL(completion: { (downloadURL, error) in
        if let error = error {
            return
        }

        guard let downloadURL = downloadURL else {
            return
        }

        print("successfully fetched download URL: \(downloadURL.absoluteString)")
    })
})

Вы хотитесохраните downloadUrl в вашей пользовательской модели и используйте его для загрузки изображения профиля при загрузке профиля.

Вы можете прочитать об этом в документации Firebase.

https://firebase.google.com/docs/storage/ios/download-files

https://firebase.google.com/docs/storage/ios/upload-files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...