首页 > 解决方案 > Flutter 缓存管理器:清除特定 url 的缓存

问题描述

我有一个显示网络图像的应用程序。我缓存图像。我还缓存了用户他/她的朋友的个人资料图片。但是用户有可能更新他的个人资料图片。

我正在考虑一个系统,该系统每 2 天删除一次朋友的个人资料图片。

所有个人资料图片都有这个网址:

https://firebasestorage.googleapis.com/v0/b/myPROJECT.appspot.com/o/profilepicturesFolder%USERID

我正在使用包颤振缓存管理器。

是否有可能删除此网址的所有缓存图像:

https://firebasestorage.googleapis.com/v0/b/myPROJECT.appspot.com/o/profilepicturesFolder

我目前正在使用这个:

await DefaultCacheManager().emptyCache();

(但它会从缓存中删除整个应用程序的所有图像)

提前致谢!

标签: flutterdart

解决方案


我想您正在使用这个库:https ://github.com/Baseflow/flutter_cache_manager 您可以为每个图像提供到期时间(在您的情况下为 48 小时)。之后,文件将被删除并从您的后端触发更新。

似乎您的库选择不支持轻松设置过期时间,请检查https://github.com/Baseflow/flutter_cache_manager/pull/107 您需要为图像提供特殊标头以确保缓存只能工作 2 天


推荐阅读