Wie lösche ich den Bild-Cache, nachdem ich ein Bild auf meiner Website bearbeitet habe?

8

Ich verwende eine externe Seite, um ein Bild in meinem System zu aktualisieren. Wenn ich zurück zu der Seite geleitet werde, auf der ich gearbeitet habe, sehe ich immer noch das alte Bild. Ich sehe meine Änderungen nicht, bis ich Strg + F5 drücke. Gibt es irgendeine Möglichkeit, um mit dem Verlauf zu löschen oder eine andere Lösung zu löschen?

    
Roy Amir 21.12.2010, 00:34
quelle

3 Antworten

11

Fügen Sie Ihrer Bildquelle eine Abfragezeichenfolge hinzu, damit der Browser sie nicht zwischenspeichert. Manche Leute benutzen das Datum, ich bevorzuge die GUID

%Vor%

Am Ende wird Ihre Bildquelle ähnlich aussehen:

%Vor%     
jon3laze 21.12.2010, 00:40
quelle
2

Die Entscheidung, ob eine Aktualisierung durchgeführt werden soll oder nicht, liegt beim Browser. Eine Standardmethode zum Lösen dieses Problems besteht darin, Ihren Bildern einen Zeitstempel hinzuzufügen. Zum Beispiel:

%Vor%

Wenn Sie das Bild aktualisieren, senden Sie es zurück:

%Vor%

Der Browser sieht zwei verschiedene URLs und fordert das Bild erneut an. Sie können einen Zeitstempel (letzte Änderungszeit der Datei), einen Hash des Dateiinhalts, eine inkrementierende Ganzzahl, ... Alles verwenden, um die URL zu ändern und den Browser zum erneuten Laden zu zwingen.

N.B. Wenn Webserver statische Dateien bereitstellen, ignorieren sie die Abfragezeichenfolge. Sie brauchen also keinen laufenden Code, um dies zu implementieren. Diese Technik eignet sich auch für alle Inhalte, für die Sie eine Aktualisierung erzwingen möchten, einschließlich CSS, JS, ...

    
James Kovacs 21.12.2010 00:41
quelle
0

in C # gibt es einen viel einfacheren Weg. Sie setzen das Bitmap-Image CreateOptions auf BitmapCreateOptions.IgnoreImageCache und zwingt das Image, aus der Datei zu laden, anstatt den vorhandenen Cache zu verwenden.

%Vor%     
Anthony Daniels 09.02.2018 21:07
quelle

Tags und Links