LoginSignup
21
24

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-12-07

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("成功!")
            }
        }
   }
21
24
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
24