从 Firebase 存储中获取图片

Posted

技术标签:

【中文标题】从 Firebase 存储中获取图片【英文标题】:Getting a picture from firebase storage 【发布时间】:2017-01-15 20:01:55 【问题描述】:

我正在创建一个 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 错误

【问题讨论】:

您收到什么错误? 【参考方案1】:

好吧,我从来没有使用过 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。就实际能够发送您的数据而言,他们有大量的文档和示例可供阅读。

【讨论】:

【参考方案2】:

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

你的错误在哪里?

【讨论】:

以上是关于从 Firebase 存储中获取图片的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Firebase 存储中获取调整大小的图片下载 URL

在React.js应用上从firebase中获取和显示图片。

上传图片后在 Firebase 中如何获取 Url? [复制]

无法将 facebook 个人资料图片 (Uri) 上传到 Firebase 存储

获取图片 url Firebase 存储(管理员)

从 foreach 中删除单个图像(Firebase 存储)