Firebase iOS存储图像

时间:2017-04-03 14:47:10

标签: ios swift firebase firebase-storage sdwebimage

我们目前的系统是这样的。 对象具有时间戳,用于指示已为应用更新图像。将图像上载到存储时,将更新此时间戳。旧图像将被新图像替换。

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

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

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

当然,您可以使用网址缓存图像或只显示一个图像。 我项目中的代码如下。

SDImageCache * cache = [SDImageCache sharedImageCache];

[cache removeImageForKey:“要删除的图像的缓存Url”fromDisk:YES withCompletion:nil];

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

答案 1 :(得分:0)

我有完全相同的问题。

如果您使用数据库来引用存储对象,则以下内容可能对您有用。

虽然图像的名称不会更改,但单独的下载链接会发生变化(在Firebase控制台的元数据中找到)。不使用标准的Firebase存储方法,而是使用带有SDImageCache的唯一下载URL。每次更新图像时,此网址都会刷新,SDImageCache会将其识别为新网页!

3>c:\program files (x86)\windows kits\10\include\10.0.15063.0\um\GdiplusPath.h(145): error C2872: 'byte': ambiguous symbol
3>c:\program files (x86)\windows kits\10\include\10.0.15063.0\shared\rpcndr.h(191): note: could be 'unsigned char byte'
3>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.11.25503\include\cstddef(15): note: or 'std::byte'