| 

.NET C# Java Javascript Exception

1
Hallo

Habe eine Download Liste auf dem Server.

Ua. ein Link zu einer "/gepackt.tar.gz" Datei.
Im FireFox geht es super. Aber im IE wird daraus automatisch ".tar.tar".

Wie kann ich dies serverseitig ändern für die Benutzer?

Im Internet habe ich gelesen, dass viele dieses Problem haben - auch im Safari soll es sein. Als Hinweis steht nur MIME Type ändern. Aber nicht wie. Denn es ist ja eine ganz normale Seite mit vielen verschiedenen Links (Zip, tar.gz, Rar, PDF usw).

lg
meone
30.07.2013
meone 110 1 6
2 Antworten
1
Du kannst mal folgendes probieren:

<?php
// Pfad zur Datei
$file = "/path/to/file.tar.gz";
// Dateiname (gibt bestimmt auch eine PHP-Funktion
// dafür, aber mir fällt sie spontan nicht ein..
// pathinfo() hat bei einem kleinen Test unter Windows
// nicht funktioniert)
$filename = "file.tar.gz";

// Hier senden wir den MIME-Type
// laut Wikipedia ist der MIME-Type für .gz 'application/x-gzip'
header('Content-Type: application/x-gzip');
// Hier sagen wir dem Browser: bitte downloaden
header('Content-Disposition: attachment; filename="'.$filename.'"');
// Damit der Browser den Fortschritt des Downloads anzeigt, senden wir noch
// die Größe der Datei mit
header('Content-Length: '.filesize($file));

// Jetzt müssen wir die eigentliche Datei noch
// einlesen und in den Output Buffer schreiben
// (also an den Browser senden)
readfile($file);
exit;
?>


Was tut dieses tolle Skript? Es bietet dem Browser die Datei, dessen Pfad wir in $file hinterlegt haben, als Download an. Dann müsstest du allerdings statt direkt auf die .tar.gz-Datei zu verlinken auf dieses Skript verlinken.

Im IE10 und Google Chrome wird die Datei als .tar.gz heruntergeladen ;-)

LG Marcel
30.07.2013
m.marnitz 216 4
0
Hallo, vielen dank für die Antwort. Ist leider etwas zu umständlich, da es über ein CMS läuft und der Kunde dafür zuständig ist.

Allerdings habe ich in dieser Minute eine Lösung gefunden, die funktioniert:

HTACCESS:


AddEncoding gzip .gz
<FilesMatch "\.tar\.gz$">
AddType "application/gzip" .gz
</FilesMatch>
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{REQUEST_FILENAME} \.(tar)$
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
30.07.2013
meone 110 1 6
meone 110 1 6

Stelle deine Mime-Frage jetzt!