ios - 从 firebase 存储获取图片

标签 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 错误

最佳答案

嗯,我从未使用过 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 Pods 来设置 Firebase,然后允许您导入 Firebase。至于实际上能够发送您的数据,他们有大量的文档和示例可供阅读。

关于ios - 从 firebase 存储获取图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41665713/

相关文章:

ios - 在 Swift 上委托(delegate) Objective-C 协议(protocol)

ios - prepareForSegue 不会在 Swift 4 中传递数据

ios - 在 Swift 中为 Mapkit Annotations 结合纬度/经度特征(蓝牙 LE)

swift - 将类对象转换为不符合 NSCoding 的 NSData

node.js - Dialogflow 实现类型错误 : Cannot read property 'Parameters'

node.js - Firebase 函数返回连接错误

ios - 将数据传递到另一个 View 时添加到数组的问题

ios - RN42 蓝牙在传输数据后几秒内在 iOS 上断开连接

ios - 尝试呈现其 View 不在窗口层次结构中的 vc

ios - 如何将每个用户链接到他们在 Firebase for Swift 3 中的数据?