【问题标题】:Firebase retrieve image from URL save with Firebase databaseFirebase 从使用 Firebase 数据库保存的 URL 中检索图像
【发布时间】:2016-10-07 17:37:51
【问题描述】:

我已将图像保存到 Firebase 存储并将 imageURL 保存到 Firebase 数据库,但是如何通过保存在 firebase 数据库中的 URL 取回图像?这是我的保存方法

func imagePickerController(picker: UIImagePickerController, didFinishPickingImage image: UIImage, editingInfo: [String : AnyObject]?) {
    userPhoto.image = image
    dismissViewControllerAnimated(true, completion: nil)
    var data = NSData()
    data = UIImageJPEGRepresentation(userPhoto.image!, 0.8)!
    // set upload path
    let filePath = "\(FIRAuth.auth()!.currentUser!.uid)/\("userPhoto")"
    let metaData = FIRStorageMetadata()
    metaData.contentType = "image/jpg"
    self.storageRef.child(filePath).putData(data, metadata: metaData){(metaData,error) in
        if let error = error {
            print(error.localizedDescription)
            return
        } else {
            // store downloadURL
            let downloadURL = metaData!.downloadURL()!.absoluteString
            // store downloadURL at database
            self.databaseRef.child("users").child(FIRAuth.auth()!.currentUser!.uid).updateChildValues(["userPhoto": downloadURL])
        }
    }
}

【问题讨论】:

    标签: swift image firebase firebase-realtime-database firebase-storage


    【解决方案1】:

    这是一种方法,下载数据然后为它创建一个UIImage

    self.storage.referenceForURL(url).dataWithMaxSize(25 * 1024 * 1024, completion: { (data, error) -> Void in
        let image = UIImage(data: data!)
        chatMessage.image = image!
        self.messages.append(chatMessage)
        self.tableView.reloadData()
        self.scrollToBottom()
    })
    

    此代码来自Zero To App talk at Google I/O。完整代码在this gist

    【讨论】:

    • 谢谢弗兰克! self.storage.referenceForURL(url).dataWithMaxSize 是我需要的!我已经解决了我的问题。
    猜你喜欢
    • 2020-02-09
    • 2020-11-25
    • 1970-01-01
    • 2020-12-18
    • 2021-05-07
    • 2017-07-02
    • 2019-01-06
    • 2020-10-23
    相关资源
    最近更新 更多