[英]Flutter cached image is it possible to reload image instead of getting the cached image?
我正在使用 flutter_cached_network_image 包從 firebase 加載圖像。 當用戶更新他的個人資料圖片(文件名仍然相同)時,加載的圖像仍然與更新前的圖像相同,因為它是從緩存中加載的(因為它仍然具有與以前相同的 url)。 是否可以從緩存中清除圖片以便加載新圖片?
顯然,目前沒有解決方案。 見這里: https : //github.com/Baseflow/flutter_cached_network_image/issues/77
我使用地址中的圖像版本來解決這個問題。 類似於: https : //example.com/image.jpg?version=14
就像@EderBaum 說的,你可以強制輸入一個額外的查詢字符串,值取決於你想要的效果,例如:
1 - 從不緩存 http:urlofresource.com/yourimage.jpg?version={NewRandonNumberGenerated}
您可以使用Random
類來實現這一點。
2-根據應用程序版本重新加載緩存
與之前相同,但現在,您可以使用版本信息,您可以將其放入全局狀態或其他地方以在更新后檢索信息
3 - 使用普通緩存
只需讓小部件完成工作即可。
我遇到過同樣的問題。 這對我有幫助:
imageCache.clearLiveImages();
imageCache.clear();
_bloc.add(ReloadEvent());
成功更新照片后清理緩存並重建小部件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.