Internet Explorer und Edge benennen ".TGZ" -Dateien in ".GZ" um

679
Graham

Ich habe ein Problem von Benutzern des Jenkins-Systems gemeldet, das ich in meiner neuen Firma installiert habe. Wenn Sie Release-Dateien mit der Erweiterung ".tgz" (tar'd gzip'd-Dateien von Linux) herunterladen, wird die Dateierweiterung dieser Dateien von MS Internet Explorer- und Edge-Browsern in ".gz" umbenannt.

Ich habe das auf IE reproduziert. Wenn Sie nur mit der linken Maustaste auf den Download-Link klicken, wird die heruntergeladene Datei automatisch und automatisch in ".gz" umbenannt. Wenn Sie mit der rechten Maustaste klicken und "Ziel speichern unter" auswählen, lautet die Standarderweiterung ".gz". Ich habe nichts mit Edge, aber ich habe keinen Grund, an dem Bericht zu zweifeln.

Ich überprüfte, ob ich es eingrenzen konnte ...

Dies ist kein Problem, das mir beim Jenkins-Setup in meiner vorherigen Firma aufgefallen ist. In meinem vorherigen Unternehmen hatten wir jedoch die Vorgabe, Chrome oder Firefox in den Voreinstellungen zum Internet Explorer zu verwenden. Es ist also durchaus möglich, dass das Problem dort existierte und wir es gar nicht gemerkt haben. Meine eigentliche Arbeit ist eingebettete Software, also sind Devops keine tiefgründigen Fähigkeiten.

Hat jemand bitte Einblicke in das bitte?

2
Überprüfen Sie die HTTP-Header der Antwort. ["Content-Disposition: attachment"] (https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition#As_a_response_header_for_the_main_body) kann verwendet werden, um einen Namen für heruntergeladene Dateien vorzuschlagen. Möglicherweise schlägt Jenkins eine falsche Erweiterung über den Header vor und einige Browser akzeptieren sie, während andere die Erweiterung aus der URL extrahieren. Mit [Fiddler] (https://www.telerik.com/fiddler) können Sie problemlos Header erfassen. gronostaj vor 5 Jahren 0
Ich habe das [jsfiddle] (https://jsfiddle.net/omhhjsoy/3/) von Ihrem ersten Link verwendet, und Edge hat es einfach als `.tgz` heruntergeladen. IE läuft sehr langsam, aber der temporäre Name enthält `.tgz`. Wie Ihr zweiter Link sagt, sind die Header-Dateien hier alles, also fügen Sie bitte alle Ihre Header zum Beitrag hinzu. Die jsfiddle-Datei hat keine Kopfzeilen, so dass die Browser sie nicht aufmischen. harrymc vor 5 Jahren 0
@gronostaj Danke - das schaue ich mir mal an. Graham vor 5 Jahren 0
@ harrymc Interessanterweise funktioniert Ihr Lenovo-Download gut, aber der Moodle-Download aus meinem Posting funktioniert nicht. Wie Sie beide sagen, ist das ein Server-Setup. Es ist immer noch sehr seltsam, zumal Benutzer anderer Software (z. B. Moodle) dies nicht bemerkt haben. Graham vor 5 Jahren 0
@ harrymc Ah, ich habe missverstanden, was Sie beide meinten. Sie meinten, es könnte ein Problem mit den HTTP-Headern auf der Seite sein, die mir die Links anzeigen. Wenn Sie jedoch nur den Download-Link in die Adressleiste auf einer neuen Registerkarte eingeben, erhalte ich dasselbe Verhalten. Und das gleiche Verhalten bekomme ich beim Download von Moodle. Ich vermute also, dass es nicht mit HTTP-Headern zusammenhängt. Graham vor 5 Jahren 0
Die Header werden vom Server als Antwort auf den eingegebenen Link zurückgegeben und teilen dem Browser den Standarddateinamen und seine Merkmale mit. Sie können sie mit Entwicklertools des von Ihnen verwendeten Browsers erfassen. Ich denke, dass der Server in allen Fällen die gleichen Header generiert, sodass Sie Chrome oder Firefox für die Anzeige verwenden können (ich weiß nicht, was der IE für solche Tools hat). harrymc vor 5 Jahren 0

1 Antwort auf die Frage

2
Daniel B

Edge prüft einfach die Content-typeKopfzeile, um zu ermitteln, welche Dateierweiterung verwendet werden soll. Dies wird durch das von Ihnen verknüpfte Problem angezeigt .

Moodle: application/g-zip  Varnish: application/octet-stream  Silva: application/gzip  Zimbra: binary/octet-stream  lpopt: application/x-gzip  lapack: application/x-gzip  gmsh: application/x-gzip 

Sie haben also eindeutig eine Dateizuordnung für application/x-gzipund application/g-zip.

Es ist auch faszinierend, dass es hier nur einen richtigen gzip-Mime-Typ gibt: `application / gzip`. 'application / octet-stream' gilt auch für generische Binärdateien. Alle anderen sind nicht bei IANA registriert. Daniel B vor 5 Jahren 0
Cool, danke. Ich greife in die Nginx-Einstellungen ein und überprüfe, wie ich das dann zum Laufen bekomme - und wie ich dann das bekomme, um den * Content-Typ * zu sortieren. Wie gesagt, Devops sind nicht wirklich mein Ding, also flügge ich ein bisschen. :) Graham vor 5 Jahren 0
Technisch ist der Mime-Typ so, wie er ist. Es ist immerhin eine GZIP-Datei. ;) Daniel B vor 5 Jahren 0