在尝试Firebase的过程中,作为Parse.com的可能替代品(不幸消失),我使用下面的代码在Swift中保存了一个PNG图像。
let fn = self.toolBox.getDocumentsDirectory().stringByAppendingPathComponent("M0-1.png")
let im = UIImage(contentsOfFile: fn),
dat = UIImagePNGRepresentation(im!),
b64 = dat?.base64EncodedStringWithOptions(.Encoding64CharacterLineLength),
qs = ["string": b64!],
r = diltRootRef.childByAppendingPath("zs"),
us = ["img": qs]
r.setValue(us)
保存部分似乎有效,但我想如何恢复我保存的图像?到目前为止我所做的一切都失败了。
答案 0 :(得分:1)
我建议使用observeSingleEventOfType(:_)
检索图像,因为它是一次性阅读。
将字符串值同步后,您可以使用NSData()
初始值设定项,然后创建UIImage
。
imageRef.observeSingleEventOfType(.Value) { (imageSnap: FDataSnapshot!) in
let base64String = imageSnap.value as! String
let decodedData = NSData(base64EncodedString: base64String, options: NSDataBase64DecodingOptions(rawValue: 0))
let image = UIImage(data: decodedData!)
}
Check out this example repo on using base64 images in a UITableView.