像这样组织您upload
和save
func:
func uploadMedia(completion: @escaping (_ url: String?) -> Void) {
let storageRef = FIRStorage.storage().reference().child("myImage.png")
if let uploadData = UIImagePNGRepresentation(self.myImageView.image!) {
storageRef.put(uploadData, Metadata: nil) { (Metadata, error) in
if error != nil {
print("error")
completion(nil)
} else {
completion((Metadata?.downloadURL()?.absoluteString)!))
// your uploaded photo url.
}
}
}
接下来,只需连接FIRDatabase
并保存到您的节点即可。
@IBAction func addPost(_ sender: Any) {
if self.titleText.text != "" && self.authorText.text != ""
&& self.mainText.text != "" && self.dateText.text != "" {
uploadMedia() { url in
guard let url = url else { return }
ref?.child("Posts").childByAutoId().setValue([
"Title" : titleText.text,
"Article" : mainText.text,
"Author" : authorText.text,
"Date" : dateText.text,
"myImageURL" : url
])
}
}
希望能帮助到你