LoginSignup
12
6

More than 3 years have passed since last update.

Swift Firebaseを使って画像をuploadする

Posted at

Firebaseで画像をuploadする概要

ざっくりしか書いてありません、概要でも掴んでもらえたらと書きました

// 1:画像をデータに変換
guard let imageData = image.jpegData(compressionQuality: 0.3)

compressionQualityは0.0~1.0まで設定できます

// 2:ストレージイメージ参照を作成->保存するFirestorageの場所
let imageRef = Storage.storage().reference().child("/productImages\/(name).jpg")

productImagesは今回はfirebase上のstorageにフォルダを作成しています
後述のnameに関してはOutletのテキスト入力を想定しています
2箇所(productImages, name)は任意に変更可能です

// 3:メタデータを設定
let metaData = StorageMetaData()
metaData.contentType = "image/jpeg"

"image/jpeg"はstorage上のタイプを指定しています

// 4:データをアップロード
imageRef.putData(imageData, metadata: metaData) { (metaData, error) in
    if let error = error {
        self.handleError(error: error, msg: "Unable to upload image.")
    return
   }

// 5:画像がアップロードされたら、ダウンロードURLを取得
imageRef.downloadURL { (url, error) in
    if let error = error {
         self.handleError(error: error, msg: "Unable to download URL.")
    return
    }
    guard let url = url else { return }

// 6:新しいドキュメントをFirestoreコレクションにアップロード
// uploadDocumentは関数を用意してあげる
// Firebaseへの登録時の構造体を初期化して、setDataメソッドでデータをセットしてあげる
    self.uploadDocument(url: url.absoluteString)
     }
}
12
6
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
12
6