這是我上傳到Firebase的方式。但需要一段時間才能取回。同時也保存它,這就是爲什麼我嘗試不同步的過程。使用Swift處理Image Store到Firebase
if imagePathToUpload != nil {
let uploadImgPath = Firebase(url:"\(rootURL)/users/\(id!)")
let imageData = UIImagePNGRepresentation(image)
let base64String = imageData!.base64EncodedStringWithOptions(.Encoding64CharacterLineLength)
let imageRef = uploadImgPath.childByAppendingPath("\(path!)")
dispatch_async(dispatch_get_main_queue(), {
imageRef.setValue(base64String)
})
}
圖片大小爲370x370,因此在我看來這不應該長這麼長時間。或者我應該在上傳之前嘗試縮小圖像?
處理圖像存儲到Firebase的正確方法是什麼?
我已經在firebase上完成了這個方法,並且使用了很少的問題。我認爲我的圖片只有50x50或類似的東西。另一種方法是將url保存在firebase上,如果說,它們是用戶帳戶的個人資料圖片。然後,在SDWebImage等第三方庫的幫助下,您可以從url中加載圖片,而SDWebImage將爲您處理緩存,以便在很多地方使用圖片時不會執行大量網絡請求。 – NSGangster
作爲一個側面提示,當運行'imageRef.setValue()'時,不需要獲取主隊列,否則firebase sdk將處理自身和代碼之間的異步連接。 – NSGangster
您可能不想使用Firebase存儲圖像;使用另一種旨在存儲它們的服務。但是,小圖像(如縮略圖)非常容易。查看[Swift2從Firebase中檢索圖片](http://stackoverflow.com/questions/33644560/swift2-retrieving-images-from-firebase/34044446#34044446),這是一個非常簡單的例子。 – Jay