gpt4 book ai didi

ios - 从 Firebase/Storage 下载关于 "Last modified"的图像

转载 作者:行者123 更新时间:2023-11-28 12:40:14 26 4
gpt4 key购买 nike

我想从我的 Firebase/Storage 下载关于上传时间的图片。意思是,最后上传的图片将是我的动态消息中的第一张(有点像 instagram)。

我怎么能写出这样的代码呢?我真的不知道从哪里开始,我是制作一个 ImageArray,还是必须定义每个 UIImageView?我找不到 Firebase 提供的有关此主题的帮助。

感谢您的帮助。谢谢!

最佳答案

我们强烈建议结合使用 Firebase 存储和 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 , 它是 associated source code ,有关如何执行此操作的实际示例。

关于ios - 从 Firebase/Storage 下载关于 "Last modified"的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39595676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com