我想从我的Firebase/Storage下载图像,关于它们何时上传。意思是,最后上传的照片将是我的新闻提要中的第一张(有点像instagram)。
我怎么能写出这样的代码?我不知道从哪里开始,是创建ImageArray,还是定义每个UIImageView?我找不到Firebase提供的关于这个主题的帮助。
感谢帮助。
我们强烈建议使用Firebase Storage和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)
})
})
此时,您可以简单地使用picArray
中的图像在tableView
中显示它们。您甚至可以使用Firebase数据库查询来按文件的时间戳或其他信息进行查询(当您将URL写入数据库时,您将需要编写这些信息)。
有关更多信息,请参阅Zero to App: Develop with Firebase及其相关源代码,以获取如何做到这一点的实际示例