我正在尝试开发用户上传照片的iOS应用程序,有人可以建议最好和最有效的方法来处理存储和性能问题。 考虑每个用户将在一个月内上传大约300张照片(最糟糕的情况)。 我的基本想法是在本地使用文档目录来存储图像,然后将其与FireBase同步。
我是iOS开发应用的初学者,愿意了解启动应用的最佳做法。
谢谢
答案 0 :(得分:1)
你可以采取下一个方式:
1)将文件上传到firebase存储并获取下载URL:
static func upload(_ image: UIImage,
completion: @escaping (_ hasFinished: Bool, _ url: String) -> Void) {
let data: Data = UIImageJPEGRepresentation(image, 1.0)!
// ref should be like this
let ref = FIRStorage.storage().reference(withPath: "media/" + userId + "/" + unicIdGeneratedLikeYouWant)
ref.put(data, metadata: nil,
completion: { (meta , error) in
if error == nil {
// return url
completion(true, (meta?.downloadURL()?.absoluteString)!)
} else {
completion(false, "")
}
})
然后将上传照片的网址保存到FIRDatabase
的用户节点。它看起来像:
但它将是帖子ID,而不是mediaRef10
和mediaRef700
因此,您将拥有用户节点链接到照片,并且您可以轻松地获得良好的性能。