質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

Q&A

0回答

1044閲覧

【SwiftUI】【Firebase】Firestorageにアップロードしようとしたが、サイズが0のデータがアップロードされた

Chiaki1111

総合スコア15

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

0グッド

0クリップ

投稿2020/06/07 14:59

前提・実現したいこと

swiftUIで取り出した写真のデータをFireStorageにアップロードしようとしましたが、
下の画像のように、サイズがないデータとして入れられてしまいました。
そのため、このデータのURLを取得し、表示させようとしてもデータがないためか表示されません。

どなたか、原因と、正しいデータが入るようにする対処法をご教示ください。

イメージ説明

該当のソースコード

SwiftUI

1import Foundation 2import FirebaseFirestore 3import FirebaseStorage 4 5func UpdateUser(userName: String, ..., imageData: Data, backImageData: Data, completion: @escaping(Bool) ->Void){ 6 7 let db = Firestore.firestore() 8 let storage = Storage.storage().reference() 9 10 if let userID = userID { 11 12//imageDataをstorageに格納 13 storage.child("userImage").child(userID).putData(imageData, metadata: nil) {(_, error) in 14 if error != nil { 15 print((error?.localizedDescription)!) 16 return 17 } 18 19//backDataをstorageに格納 20 storage.child("backImage").child(userID).putData(backImageData, metadata: nil) {(_, error) in 21 if error != nil { 22 print((error?.localizedDescription)!) 23 return 24 } 25 26//imageDataを格納したURLを取得 27 storage.child("userImage").child(userID).downloadURL{(url, error) in 28 if error != nil { 29 print((error?.localizedDescription)!) 30 return 31 } 32 33//backDataを格納したURLを取得 34 storage.child("backImage").child(userID).downloadURL{(url2, error) in 35 if error != nil { 36 print((error?.localizedDescription)!) 37 return 38 } 39 40//urlやその他情報をfirestoreに格納 41 db.collection("Users").document(userID).setData(["userName": userName,... , "userImageURL": "(url!)", "backURL": "(url2!)"], merge: true){(error) in 42 if error != nil{ 43 print((error?.localizedDescription)!) 44 return 45 } 46 47 completion(true) 48 UserDefaults.standard.set(userName, forKey: "UserName") 49 NotificationCenter.default.post(name: NSNotification.Name("StatusChange"), object: nil) 50 } 51 } 52 } 53 } 54} 55} 56} 57

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問