Flutter缓存的图像是否可以重新加载图像而不是获取缓存的图像?

时间:2020-02-17 20:28:11

标签: image firebase flutter caching

我正在使用flutter_cached_network_image包从firebase加载图像。当用户更新其个人资料图片(文件名仍然相同)时,由于从缓存中加载(因为它仍具有与以前相同的url),因此加载的图像与更新前的图像相同。 是否可以从缓存中清除图片,以便加载新图像?

3 个答案:

答案 0 :(得分:2)

显然,目前没有解决方案。看到这里:https://github.com/Baseflow/flutter_cached_network_image/issues/77

我使用地址中图像的版本来解决此问题。类似于:https://example.com/image.jpg?version=14

答案 1 :(得分:1)

就像@EderBaum一样,您可以强制放置其他查询字符串输入,该值取决于所需的效果,例如:

1-从不缓存 http:urlofresource.com/yourimage.jpg?version = {NewRandonNumberGenerated}

您可以使用Random类来实现此目的。

2-根据应用版本重新加载缓存

与以前相同,但现在,您使用版本信息,可以将其置于全局状态或其他位置以在更新后检索信息

3-使用普通缓存

只需让小部件完成工作即可。

答案 2 :(得分:0)

我有同样的问题。这对我有帮助:

imageCache.clearLiveImages();
imageCache.clear();
_bloc.add(ReloadEvent());

成功更新照片后,清理缓存并重建小部件。