SD 未设置从 Firebase 存储中提取的图像
SD not setting Image pulled from Firebase Storage
我正在关注 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
正确设置,它也用于存储路径以检索图像。我在这里遗漏了什么吗?
我的第一个猜测是您没有在主队列上设置它。
试试这个:
DispatchQueue.main.async {
self.housePhotoImageView.sd_setImage(with: photoRef)
}
我不知道您的图像文件没有文件扩展名是否重要,这可能也值得一试。希望这有帮助
1. 我认为问题是你的 awesomehouse/
最后有一个斜杠。
尝试检查您正在创建的 child()
:awesomehouse
或 awesomehouse/
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
两个都试试。我想它会解决你的问题。
希望对您有所帮助
我正在关注 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
正确设置,它也用于存储路径以检索图像。我在这里遗漏了什么吗?
我的第一个猜测是您没有在主队列上设置它。
试试这个:
DispatchQueue.main.async {
self.housePhotoImageView.sd_setImage(with: photoRef)
}
我不知道您的图像文件没有文件扩展名是否重要,这可能也值得一试。希望这有帮助
1. 我认为问题是你的 awesomehouse/
最后有一个斜杠。
尝试检查您正在创建的 child()
:awesomehouse
或 awesomehouse/
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
两个都试试。我想它会解决你的问题。
希望对您有所帮助