簡體   English   中英

Flutter 緩存圖像是否可以重新加載圖像而不是獲取緩存圖像?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM