2017-01-05 5 views
2

Hallo ich versuche eine App mit Xamarin Formen PCL zu bauen. Ich implementiere eine Bildergalerie, in der ich ein Standardbild verwendet habe. Alle Bilder sind auf Blob. Ich möchte das Image herunterladen und das Image im Gerät zwischenspeichern. Sobald das Herunterladen abgeschlossen ist, muss ich mein Standardbild durch dieses ersetzen. Und beim Laden der App das nächste Mal Bild nur herunterladen, wenn es nicht im Cache vorhanden ist. Ich bekomme kein Plugin für Bild-Caching und Laden von Bildern aus dem Cache. Ich habe ein Plugin namens FFPLUGIN gesehen, aber es hat nicht funktioniert. Irgendeine Idee, wie ich das umsetzen kann? BildcachierensXamarin Formen: Image Cache

+1

Werden Ihre Bilder dynamisch benannt oder haben sie eine statische URL wie http://www.mywebsite.com/myimage.png? – user1

+0

@ user1 dynamisch benannt – Sonali

+1

Web-Bilder werden standardmäßig für 24 Stunden mit 'Xamarin.Forms.Image' zwischengespeichert. Sie können das erhöhen, indem Sie 'CacheValidity' ändern – BrewMate

Antwort

1

Sie könnten der eingebauten ImageCaching in Xamarin Forms verwenden Sie hier:

https://developer.xamarin.com/guides/xamarin-forms/working-with/images/#Downloaded_Image_Caching

heruntergeladene Bild Caching

UriImageSource unterstützt auch das Caching von heruntergeladenen Bilder, konfiguriert durch die folgenden Eigenschaften:

CachingEnabled - Ob das Caching aktiviert ist (standardmäßig true).

CacheValidity - Eine TimeSpan, die definiert, wie lange das Bild lokal gespeichert wird. Die Zwischenspeicherung ist standardmäßig aktiviert und speichert das Image lokal für 24 Stunden. Um das Caching für ein bestimmtes Bild zu deaktivieren, instanziiert die Bildquelle wie folgt aus:

Image.Source = new UriImageSource {CachingEnabled = false, 
Uri="http://server.com/image"}; To set a specific cache period (for 
example, 5 days) instantiate the image source like this: 


webImage.Source = new UriImageSource { 
Uri = new Uri("https://xamarin.com/content/images/pages/forms/example-app.png"), 
CachingEnabled = true, 
CacheValidity = new TimeSpan(5,0,0,0) }; 

Built-in-Caching macht es sehr einfach Szenarien zu unterstützen, wie Listen von Bildern scrollen, wo Sie einstellen können (oder binden) ein Bild in jeder Zelle und lassen Sie den eingebauten Cache kümmern das Bild erneut zu laden, wenn die Zelle zurück in Ansicht gescrollt wird.

+0

Aber wie überprüfe ich es, wenn es im Cache ist oder nicht – Sonali

+0

Ich möchte, dass meine Bilder nur herunterladen, wenn sie nicht im App-Cache sind – Sonali

+0

' Xamarin Forms Image' wird diese Überprüfung für Sie tun , und wenn nicht das Bild redownload – user1