2016-06-07 107 views
12

通常图像数据库参考火力地堡的用户,我将能够在网上找到一个回答这个问题,但由于它太新我一直有麻烦。在与火力地堡存储斯威夫特

当我的用户登录到App和他们选择4-5图片,他们的个人资料,我该如何存储在火力地堡存储这些图像和参考这些图像在火力地堡数据库用户?

感谢

回答

13

你将它们上传到火力地堡存储,然后再链接存储在数据库火力地堡

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 = ["https://stackoverflow.com/users/\(key)": dictionaryTodo] 
    ref.updateChildValues(childUpdates, withCompletionBlock: { (error, ref) -> Void in 
     //save 
    }) 

} 
+0

对不起了这么久回应但样品帮助了很多!感谢 – JustinM

+0

并注意另一个QA这个重要的技巧.. https://stackoverflow.com/a/45395260/294884 – Fattie

相关问题