【问题标题】:SD not setting Image pulled from Firebase StorageSD 未设置从 Firebase 存储中提取的图像
【发布时间】:2017-05-21 14:38:17
【问题描述】:

我正在关注 Google 的 guide 从存储中获取图像,然后使用“FirebaseStorageUI”将其放入 imageView,这似乎使用了 SDWebImage。

我的问题是图像根本没有设置。控制台中没有错误。我的代码:

@IBOutlet weak var imageView: UIImageView!   
var ref = FIRDatabase.database().reference()
var storageRef = FIRStorage.storage().reference()

    override func viewWillAppear(_ animated: Bool) {
        self.getHouseID(){ (houseName) -> () in
            if houseName.characters.count > 0 {
                self.houseIDLabel.text = houseName // does work correctly
                let photoRef = self.storageRef.child("\(houseName)/\("housePhoto.jpg")")
                self.housePhotoImageView.sd_setImage(with: photoRef) // not working
                } else {
                print("error while setting image and house name label")
            }
        }
    }

我的存储如下所示:

使用houseName 正确设置标签,该标签也用于存储路径以检索图像。我在这里错过了什么?

【问题讨论】:

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


    【解决方案1】:

    1. 我认为问题在于您的awesomehouse/ 末尾有斜线。

    尝试检查您正在创建哪个child()awesomehouseawesomehouse/

    2. 第二个可能的问题是您尝试获取"housePhoto.jpg" 而不是存储的housePhoto

    所以,应该是:

    let photoRef = self.storageRef.child("awesomehouse/").child("housePhoto")
    self.housePhotoImageView.sd_setImage(with: photoRef) // should work now
    

    或者最好将照片保存到扩展名为".jpg"的存储中,那么它会是:

    let photoRef = self.storageRef.child("awesomehouse/").child("housePhoto.jpg")
    self.housePhotoImageView.sd_setImage(with: photoRef) // should work now
    

    两个都试试。我想它会解决你的问题。

    希望对你有帮助

    【讨论】:

    • 确实是路径问题。非常感谢!
    • @ffritz 很高兴 2 听到:)
    【解决方案2】:

    我的第一个猜测是你没有在主队列上设置这个。

    试试这个:

    DispatchQueue.main.async {
      self.housePhotoImageView.sd_setImage(with: photoRef)
    }
    

    我不知道您的图像文件没有文件扩展名是否重要,这可能也值得尝试。希望这会有所帮助

    【讨论】:

    • 是路径问题。不过你可能对文件扩展名是正确的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-06
    • 2020-12-04
    • 2017-12-29
    • 1970-01-01
    • 2018-07-08
    相关资源
    最近更新 更多