检查服务器的映像是否已更新并再次下载

时间:2015-06-16 04:16:03

标签: ios swift parse-platform nsdata sdwebimage

我想知道缓存图像的正确方法是什么,并将其存储到Parse.com,并加载回来,更新缓存等。

所以这是场景:

  1. 我有一个社交网络应用,用户可以上传他们的个人资料图片。
  2. 用户上传图片后。我相信我们应该将图像缓存在设备中。
  3. 用户还可以从网站上更改自己的个人资料照片。
  4. 我的问题是,如果用户更新了他们的个人资料照片。我怎样才能检测到更改并更新缓存?图像缓存库从URL检测。问题是,URL始终保持不变。

    那么我们如何知道图片是否已经更新并重新下载到设备并更换缓存?

    谢谢

1 个答案:

答案 0 :(得分:1)

你可以

  1. 设置图像缓存的有效期。因此,每隔24小时左右就会使用最新的数据表单服务器重新加载图像缓存。

  2. 保留'时间戳'用户上传个人资料图片时在服务器上,并在缓存图像时为设备上的每个图像URL保留本地时间戳。检查/比较每个应用程序执行时或每次打开配置文件页面时的时间戳。当服务器时间戳较新时,使缓存无效并重新下载新映像。确保每次缓存图像时都更新本地缓存时间戳。

  3. 维护文件'哈希'服务器上的字符串。下载映像文件时,在本地创建文件散列并为每个映像URL维护它。在每个应用程序执行或每次打开配置文件页面时将本地值与服务器哈希值进行比较。如果它们不相同,则使缓存无效并重新下载新映像。确保每次下载文件时都更新本地文件哈希。但是,如果您的图像缓存模块无法直接访问下载的物理文件,则无法进行此操作。

  4. 我假设您已清楚了解图像缓存策略,并希望这可以回答您的问题:我们如何知道图片是否已经更新并重新下载到设备并更换缓存?&# 39;

    如果您想知道如何在图片中缓存,可以使用UIImage+AFNetworking