問題が発生しているコードはこちらです。Firebaseからアレイに画像をダウンロードする際に問題が発生する
共有:
// Firebase services
var database: FIRDatabase!
var storage: FIRStorage!
...
// Initialize Database, Auth, Storage
database = FIRDatabase.database()
storage = FIRStorage.storage()
...
// Initialize an array for your pictures
var picArray: [UIImage]()
アップロード:
let fileData = NSData() // get data...
let storageRef = storage.reference().child("myFiles/myFile")
storageRef.putData(fileData).observeStatus(.Success) { (snapshot) in
// When the image has successfully uploaded, we get it's download URL
let downloadURL = snapshot.metadata?.downloadURL()?.absoluteString
// Write the download URL to the Realtime Database
let dbRef = database.reference().child("myFiles/myFile")
dbRef.setValue(downloadURL)
}
ダウンロード:私は上記のコードを使用しようとしてきた
let dbRef = database.reference().child("myFiles")
dbRef.observeEventType(.ChildAdded, withBlock: { (snapshot) in
// Get download URL from snapshot
let downloadURL = snapshot.value() as! String
// Create a storage reference from the URL
let storageRef = storage.referenceFromURL(downloadURL)
// Download the data, assuming a max size of 1MB (you can change this as necessary)
storageRef.dataWithMaxSize(1 * 1024 * 1024) { (data, error) -> Void in
// Create a UIImage, add it to the array
let pic = UIImage(data: data)
picArray.append(pic)
})
})
は@でもともと投稿しましたマイク・マクドナルドFirebase DBから一連の画像を取得して追加します。私は正常に上記を使用してイメージをアップロードすることができますが、私の人生のために、私はダウンロードするイメージを取得することはできませんし、イメージ配列に追加します。
エラーが表示されません。単に「ダウンロード」コードが実行されていない(コンソールでもこれを確認しようとしました)だけです。行のカップルはスウィフト3のために異なっているが、私はについて不明だ唯一のものである:
let storageRef = storage.referenceFromURL(downloadURL)
この上、または/ APPENDを作成する方法上の任意の提案今
let storageRef = self.storage.reference(forURL: downloadURL)
ですFirebaseでchildadded observerを使用している一連の画像が評価されます。ありがとう!
ありがとうございました。私はこれらの変更を既に行いました。まだ完全に実行するためにダウンロードコードを取得することに問題があります。 – Oprimus
私は、このコードで確実に動作するダウンロードを参照してください。したがって、あなたが自分の使い方について基本的に述べたようにコードを使用します。多分あなた自身のコードの多くの部分を追加して、あなたが達成しようとしていることについてもっと詳しく説明してください。問題は他のどこかにあるようだ。 – ronatory
あなたは正しい。私は答えを掲示した。ありがとう! – Oprimus