iOS
Swift
Firebase

[ios]firebase storageを使用して、画像をアップロードしてからRealtime DatabaseにURLを保存するまで

Firebaseを利用して、ユーザーのプロフィール写真をアップロードした後、そのURLを取得して、Realtime databaseに登録するまでの一連作業。
意外と簡単だったけど、Realtime databaseに保存する時に、取得したURLの型を変更する必要があるのを知らず、少しだけ詰まった。

ViewController.swift
        func fileupload(deta: UIImage) {
        //保存するURLを指定
        let storageRef = storage.reference(forURL: "自分のプロジェクトのURL")
        //ディレクトリを指定
        let imageRef = storageRef.child("User").child("image.jpg")
        //保存を実行して、metadataにURLが含まれているので、あとはよしなに加工
        let imageData = UIImageJPEGRepresentation(deta, 1.0)!
        imageRef.putData(imageData, metadata: nil) { metadata, error in
            if (error != nil) {
                print("Uh-oh, an error occurred!")
            } else {
                //URL型をNSstring型に変更
                let downloadURL = metadata!.downloadURL()

                let deta = downloadURL?.absoluteString
                self.ref = Database.database().reference()
                self.ref.child("User").child(self.userID!).updateChildValues(["profile":deta])
                print("成功!")
            }
        }
   }