2016-06-07 10 views

Antwort

13

Sie sie an die Firebase Speicher zuerst laden und speichern Sie dann die URL in Firebase Datenbank

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

leid es so lange gedauert hat, zu reagieren, aber das half Probe alot! danke – JustinM

+0

und beachten Sie diesen wichtigen Tipp auf einer anderen QA .. https://Stackoverflow.com/a/45395260/294884 – Fattie