【问题标题】:imageView doesn't change image when I uploaded new image from firebase storage当我从 Firebase 存储上传新图像时,imageView 不会更改图像
【发布时间】:2019-09-19 13:52:47
【问题描述】:

我尝试从 url 获取图像,第一次加载正确的图像表单 url, 但是当我上传新图片时, imageView 不会改变。 我从控制台收到了这个错误:

[BoringSSL] nw_protocol_boringssl_get_output_frames(1301) [C7.1:2][0x7fa944135a30] 获取输出帧失败,状态 8196

然后我又上传了一张新图片, imageView 显示最后下载的图像,它再次显示相同的错误。 问题出在哪里?

ref.child("/user").child(userID).child("UserImage").observe(DataEventType.value, with: {(data) in

    let value = data.value as? String ?? ""
    print("url:",value)
    if let url = URL(string: value) {

        URLSession.shared.dataTask(with: url, completionHandler: {(data,responds,error) in
            if error != nil{
                print(error!.localizedDescription)
            }
            else if let imageData = data{
                DispatchQueue.main.async {
                    self.userImage.image = UIImage(data: imageData)
                }
            }
        }).resume()

    }

})

【问题讨论】:

    标签: swift firebase swift4.2


    【解决方案1】:

    尝试添加 SDWEBImage pod

    pod "SDWebImage"

    那么你可以只传递网址

    self.userImage.sd_setImage(with: url, completed: nil)

    更多关于 pod 的信息在这里https://cocoapods.org/pods/SDWebImage

    【讨论】:

    • 我尝试使用这个 pod,但没有解决问题。
    • 它仍然显示上次下载的图像
    • 我认为问题是 SDWebImage 和 URLSession 默认从缓存加载图像。但是如何让 imageView 只下载图片并应用,而不是先从缓存中加载呢?
    猜你喜欢
    • 2017-05-31
    • 2017-12-03
    • 2019-03-20
    • 1970-01-01
    • 2017-07-30
    • 2018-12-11
    • 2018-07-04
    • 2014-01-15
    • 2018-03-14
    相关资源
    最近更新 更多