从firebase存储中获取图片

时间:2017-01-15 20:01:55

标签: ios swift firebase firebase-storage

我正在创建一个iOS应用程序,上面有很多图片。因此,我决定使用数据库将图片存储在数据库中并从数据库中检索。我已通过Firebase网站手动输入图片。

以下是我目前的代码:

import UIKit
import Firebase

class F_A_1: UIViewController {
    @IBOutlet weak var imageViewer: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

    }

    let database = FIRDatabase.database().reference()
    let storage = FIRStorage.storage().reference()
    let animalref = FIRStorage.storage().reference().child("animal/bird.png")

    animalref.dataWidthMaxSize(1*1000*1000){ (date, error) in
    if error = nill {
        print(data)
        self.imageViewer.image = UIImage(data: data!)
    } else {
        print(error?.localizedDescription)
    }
  }
}

这给了我一个我无法解决的错误。

提前致谢:)

import UIKit
import Firebase

class F_A_1: UIViewController {
    @IBOutlet weak var imageViewer: UIImageView!

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.

    }

    let database = FIRDatabase.database().reference()
    let storage = FIRStorage.storage().reference()
    let animalref = FIRStorage.storage().reference().child("animal/bird.png")

    func nameThisWhatYouWant() {
        animalref.data(withMaxSize: 1*1000*1000) { (data, error) in
        if error == nil { 
           print(data)
        } else {
           print(error?.localizedDescription)
        }
    }
  }
}

我试过这个,但它给出了一个sigbart错误

2 个答案:

答案 0 :(得分:0)

好吧,我从未使用过Firebase,也不知道如何连接它,但是你有一个问题,你在应用程序中做逻辑。

class F_A_1: UIViewController {
     override func viewDidLoad() {
         super.viewDidLoad()
         // Do any additional setup after loading the view, typically from a nib.
     }

    let database = FIRDatabase.database().reference()
    let storage = FIRStorage.storage().reference()
    let animalref = FIRStorage.storage().reference().child("animal/bird.png")


    func nameThisWhatYouWant() {
        animalref.dataWidthMaxSize(1*1000*1000){ (date, error) in
            if error = nill {
                print(data)

                self.imageViewer.image = UIImage(data: data!)

            } else{
                print(error?.localizedDescription)
            }
        }
    }
}

我添加了一个名为 nameThisWhatYouWant 的函数,您应该处理数据并将其发送到Firebase。至于使用Firebase,请转到here,了解如何通过使用Cocoa Pod来设置Firebase,然后允许您导入Firebase。至于实际上能够发送您的数据,他们有大量的文档和示例可供阅读。

答案 1 :(得分:0)

您正在将错误与nill进行比较,而不是nil

你在哪里得到错误?