使用 Firebase 存储中的图像引用数据库中的 Firebase 用户 Swift
Reference Firebase users in database with images in Firebase Storage Swift
通常我可以在网上找到这个问题的答案,但由于它太新了,我一直遇到麻烦。
当我让用户登录应用程序并为他们的个人资料选择 4-5 张图片时,我如何将这些图像存储在 Firebase 存储中并在 Firebase 数据库中将这些图像引用给该用户?
谢谢
您先将它们上传到 Firebase 存储,然后将 url 存储在 Firebase 数据库
let storage = FIRStorage.storage()
let data: NSData = myImageData
let userProfilePic = storageRef.child("users/abc/profileimage.jpg")
let uploadTask = userProfilePic.putData(data, metadata: nil) { metadata, error in
if (error != nil) {
// Uh-oh, an error occurred!
} else {
let downloadURL = metadata!.downloadURL
// store downloadURL in db
storeUserProfileInDB(downloadURL)
}
}
func storeUserProfileInDB(profileImgUrl: NSURL) {
let ref = FIRDatabase.database().reference()
let key = ref.child("users").childByAutoId().key
let dictionaryUser = [ "userName" : name! ,
"imageUrl" : profileImgUrl.absoluteString,
]
let childUpdates = ["/users/\(key)": dictionaryTodo]
ref.updateChildValues(childUpdates, withCompletionBlock: { (error, ref) -> Void in
//save
})
}
通常我可以在网上找到这个问题的答案,但由于它太新了,我一直遇到麻烦。
当我让用户登录应用程序并为他们的个人资料选择 4-5 张图片时,我如何将这些图像存储在 Firebase 存储中并在 Firebase 数据库中将这些图像引用给该用户?
谢谢
您先将它们上传到 Firebase 存储,然后将 url 存储在 Firebase 数据库
let storage = FIRStorage.storage()
let data: NSData = myImageData
let userProfilePic = storageRef.child("users/abc/profileimage.jpg")
let uploadTask = userProfilePic.putData(data, metadata: nil) { metadata, error in
if (error != nil) {
// Uh-oh, an error occurred!
} else {
let downloadURL = metadata!.downloadURL
// store downloadURL in db
storeUserProfileInDB(downloadURL)
}
}
func storeUserProfileInDB(profileImgUrl: NSURL) {
let ref = FIRDatabase.database().reference()
let key = ref.child("users").childByAutoId().key
let dictionaryUser = [ "userName" : name! ,
"imageUrl" : profileImgUrl.absoluteString,
]
let childUpdates = ["/users/\(key)": dictionaryTodo]
ref.updateChildValues(childUpdates, withCompletionBlock: { (error, ref) -> Void in
//save
})
}