zip datei als iframe source angeben und download startet automatisch

S

StephanSch

Aktives Mitglied
Thread Starter
Dabei seit
24.07.2006
Beiträge
406
Reaktionspunkte
1
Wenn ich folgenden Code, via JS zu meinem HTML Dokument hinzufüge, wird automatisch ein Download gestartet:

HTML:
<iframe src="./path/to/installer.zip"></iframe>

Das Problem ist nur, dass mir der Chrome Inspector folgenden Warnhinweis ausgibt: "Resource interpreted as Document but transferred with MIME type application/zip"

Wie kommt das zustande und wie kann ich das fixen? Danke für eure Antworten!
 
Mal abgesehen davon, dass mir kein Sinnvoller Einsatz dieser "Technik" in den Kopf kommt (automatische Downloads sind eher störend als gewollt, und ein Garant dafür, dass die Leute nicht wieder kommen), gibt es imho auch keine Lösung für dieses Problem hier.
Grund: iFrames sind für HTML-Inhalte gedacht. Nicht für ZIP-Dateien. Und demnach kann man hier auch keinen MIME-Type angeben, der das Problem in den Griff bekommt.


Man könnte den selben Effekt abewr mit JavaScript erreichen, indem beim (kurz nach) dem Laden der Seite, auf die Downloaddatei weitergeleitet wird.
Da es keine HTML-Seite ist, wird nicht neu geladen, sondern die Downloadaufforderung (sofern eingeschaltet), angezeigt.
Sollte klappen, hab ich aber nicht getestet.
 
du kannst den download durch location.href="./path/to/installer.zip" starten, die seite wird nicht neugeladen, da das ZIP kein Dokument ist, sonder das zip wird nur geladen, der User bleibt auf der Seite
 
Das mit location.href ist eine bessere Lösung als mit einem iFrame…danke.

Zum Sinn: Der User klickt auf Download, dann wird eine Ajax Anfrage an den Server gestellt. Dieser generiert dann eine Zip für diesen speziellen User, dann wird der Pfad zu dieser Zip Datei zurückgeschickt an JavaScript. Und dann wird mit location.href der Download gestartet.

Nur leider bekomme ich immer noch den Warnhinweis: "Resource interpreted as Document but transferred with MIME type application/zip" … ?
 
Du müsstest in der htaccess den Mimetype auf application/force-download setzen
oder du rufst statt dem .zip eine php datei auf die den Mimetype application/force-download ausgibt und dann die Datei einliest und ausgibt
 
Zurück
Oben Unten