gpt4 book ai didi

ios - 检查 Firebase 存储的更新并替换旧内容?

转载 作者:行者123 更新时间:2023-11-28 15:51:30 25 4
gpt4 key购买 nike

我想做的是每次我打开应用程序或服务器更改新数据时,本地保存的数据都应该更新。

我已经使用这段代码下载并保存了数据到本地

override func viewDidLoad() {
super.viewDidLoad()


if book?.bookPath != book?.bookPath {
print("HERE \(book?.bookPath)")
loadReader(filePaht: (book?.bookPath)!)

} else {

let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let strName = book?.id
let filePath = "\(documentsPath)/"+strName!+".pdf"
let fileManager = FileManager.default

if fileManager.fileExists(atPath: filePath) {
loadReader(filePaht: filePath)
return;
}
let reference = FIRStorage.storage().reference(forURL: (self.book?.bookURL)!)
downloadTask = reference.data(withMaxSize: 50 * 1024 * 1024) { (data, error) -> Void in
if (error != nil) {

} else {

if ((try! data?.write(to: URL.init(fileURLWithPath: filePath, isDirectory: false))) != nil) {
self.db.upDate(id: (self.book?.id)!, bookPath: filePath)

self.loadReader(filePaht: filePath)
}
}
}
downloadTask.observe(.resume) { (snapshot) -> Void in
// Download resumed, also fires when the download starts
}

downloadTask.observe(.pause) { (snapshot) -> Void in
// Download paused

}
downloadTask.observe(.progress) { (snapshot) -> Void in

}


downloadTask.observe(.success) { (snapshot) -> Void in

}

downloadTask.observe(.failure) { (snapshot) -> Void in

}

}
}

}
}

这里发生的是数据在手机上本地下载,当我在 firebase 上更改它时,它在下载后不会在手机本身上更改

最佳答案

Firebase 存储不会像 Firebase 实时数据库那样同步文件。

你想使用数据库来同步文件更改,如一堆其他 SO 帖子所示(比如这个: Swift Firebase Storage How to retrieve image with unknow name(NSUUID) ,它有你想要的确切代码),以及我们的 I/O 讨论 Zero to App 并且它是source code

或者,您可以只在本地存储 etagmd5 哈希并执行元数据提取,检查它们是否相同,以及它们是否相同t,取新的。

关于ios - 检查 Firebase 存储的更新并替换旧内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42246919/

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