【问题标题】:Firebase iOS storage imagesFirebase iOS 存储映像
【发布时间】:2017-08-28 12:01:59
【问题描述】:

我们当前的系统是这样工作的。 一个对象有一个时间戳来指示图像已为应用程序更新。此时间戳将在图像上传到存储时更新。旧图像将被新图像替换。

但是我们的 iOS 开发人员 (Frank) 有一个问题,他正在使用 SDWebImage 将图像加载到他的单元格中。但是当他使用相同的路径并且对象中的图像时间戳发生变化时,SDWebImage 不会重新加载图像。因为它会缓存带有 URL 的图像。

如何解决?

【问题讨论】:

标签: ios swift firebase firebase-storage sdwebimage


【解决方案1】:

您应该删除缓存的图像。 SDImageCache 使您可以管理 SDWebImage 的缓存数据,并且它具有可以删除缓存图像的属性。

当然,您可以使用所有缓存的图像或仅一张带有 url 的图像。 我的项目中的代码如下。

SDImageCache* 缓存 = [SDImageCache sharedImageCache];

[cache removeImageForKey:"你要移除的图片的缓存Url" fromDisk:YES withCompletion:nil];

它适用于我,它不会让您删除所有缓存的数据。 希望对你有帮助

【讨论】:

    【解决方案2】:

    我有完全相同的问题。

    如果您使用数据库来引用您的存储对象,那么以下内容可能适合您。

    虽然您的文件名称不会在图像发生变化时发生变化,但单独的下载链接会发生变化(可在 Firebase 控制台的元数据中找到)。不要使用标准的 Firebase 存储方法,而是使用带有 SDImageCache 的唯一下载 url。每次图片更新,这个url都会刷新,SDImageCache会把它识别为新的!

    imageToSet.sd_setImage(with: URL(string: imageUrl), 
    placeholderImage: "Profile-Placeholder")
    

    【讨论】:

      猜你喜欢
      • 2017-10-05
      • 2017-10-01
      • 1970-01-01
      • 2021-09-21
      • 2017-10-21
      • 2020-02-11
      • 2017-06-23
      • 2019-03-05
      • 2018-03-29
      相关资源
      最近更新 更多