Ich habe eine sehr einfache Seite, die ein <input type="file">
Element enthält. Wenn ich das Formular mit einer ausgewählten Datei absende, antwortet der Server mit einer Tabelle, die in Excel geöffnet wird (ein "neues Fenster"). Dieses Verhalten hat zur Folge, dass der Anfangsbildschirm und das Eingabeelement im Internet Explorer weiterhin sichtbar sind. Wenn ich die Daten auf der Festplatte der ausgewählten Datei ändere und das Formular erneut übermittel, lädt Internet Explorer die alten Inhalte ein zweites Mal hoch; Meine letzten Änderungen sind nicht in dem Inhalt enthalten, der an den Server gesendet wird. Wenn ich die Datei über die Schaltfläche Durchsuchen ... der Eingabe erneut auswähle, werden die neuen Dateiinhalte wie erwartet hochgeladen. Firefox sendet immer den Inhalt der Datei von der Festplatte, was das erwartete/gewünschte Verhalten ist. Es scheint, dass Internet Explorer eine Art Zwischenspeicherung der hochgeladenen Dateiinhalte vornimmt.Internet Explorer Caching-Datei hochgeladen?
Gibt es eine Möglichkeit, diese "Funktion" zu deaktivieren und IE die Daten jedes Mal aus der Festplatte ziehen, wenn das Formular übermittelt wird?
Gibt es Dokumentation zu diesem Verhalten? Es ist das erste Mal, dass ich darauf gestoßen bin und meine Recherchen sind größtenteils leer ausgegangen.
Was ist, wenn es das * upload * nicht speichert (von dem ich noch nie etwas gehört habe und wirklich komisch wäre), aber das generierte Ergebnis? Sendet das Ergebnis die richtigen Header (oder besser: keine Zwischenspeichern)? –
@Pekka: In den Serverprotokollen wird angezeigt, dass der Browser eine POST-Anfrage sendet und für jeden Upload-Versuch 200 OK zurückgibt. Wenn die Antwort zwischengespeichert würde, würde ich erwarten, dass Internet Explorer entweder die Anfrage vollständig überspringt oder der Server den Status 304 nicht geändert zurückgibt. – Todd
Welche Technologie wird auf Server-Seite verwendet, um den Upload zu verarbeiten und die Datei zu verarbeiten? Sie könnten die Prüfsummen der hochgeladenen Dateien protokollieren, um zu sehen, ob der Browser tatsächlich die falsche Datei sendet oder ob auf der Serverseite noch etwas schief geht. –