Datei ausgabe
mcp
- perl
Hallo zusammen
Folgendes Problem: Ich habe eine Datei im EMS-Format und möchte die so ausgeben, dass der Browser diese nicht anzeigt sondern mit einem speichern unter Dialogfeld reagiert.
Mache das so: print "Location: $file\n\n";
Dies Klappt auch auf meinem IIS Test-Server wunderbar, aber sobald ich das Script auf meinem Apache/Linux Server installiere ist fertig mit lustig! Da zeigt mir der Browser den Inhalt der Datei an und nicht speichern unter. Er meint dann auch, dies sei eine TXT Datei.
Warum? Weis jemand Rat?
Danke für Eure Hilfe
Grüsse MCP
Hallo MCP,
Dies Klappt auch auf meinem IIS Test-Server wunderbar, aber sobald ich das Script auf meinem Apache/Linux Server installiere ist fertig mit lustig! Da zeigt mir der Browser den Inhalt der Datei an und nicht speichern unter. Er meint dann auch, dies sei eine TXT Datei.
Das liegt wohl daran, dass sein Default-Mime-Typ "text/plain" ist, sprich, was er nicht kennt, bietet er dem aufrufenden Client als nackten Text an. Um ein anderes Verhalten zu erzwingen, muss der Mime-Type fuer ems-Dateien in der Serverkonfig eingetragen werden, beim Apache in der Datei [installdir]/conf/mime.types
Allerdings kenne ich den Mime-Type fuer ems-Dateien nicht - vielleicht guckst du unter http://www.isi.edu/in-notes/iana/assignments/media-types/media-types mal selber nach, ob du es findest. Wenn nicht, vergib einfach einen "Phantasie-Typ" mit "application/irgendwas" und ordne dem die entsprechende Dateiendung zu.
Zuletzt muss der Apache dann noch beendet und neu gestartet werden.
viele Gruesse
Stefan Muenz
Hi Stefan,
an. Um ein anderes Verhalten zu erzwingen, muss der Mime-Type fuer
ems-Dateien in der Serverkonfig eingetragen werden, beim Apache in
der Datei [installdir]/conf/mime.types
Diese MIME-Types sollte man nicht ändern - das ist nicht der Sinn der
Sache (die Apache Group rät ausdrücklich davon ab, und das m. E. zu
Recht, weil es den meisten Anwendern nicht nützt, wenn sie _noch_ ein
Format lernen müssen).
Außerdem hat zu dieser Datei nur der Apache-Administrator Zugang
Besser also:
http://httpd.apache.org/docs/mod/mod_mime.html#addtype
Das geht vor allem nicht nur in der httpd.conf, sondern auch via
.htaccess - also ohne den Administrator fragen zu müssen.
Zuletzt muss der Apache dann noch beendet und neu gestartet werden.
Eben - und auch das wollen wir doch dringend vermeiden ...
Viele Grüße
Michael
(der sich aus Frust über seinen #+*!"§$ Provider am Wochenende eine
eigene abgemagerte mod_gzip-Variante in Perl implementiert hat, die
keine Änderung am Apache-Server selbst mehr erfordert - nur noch
CGI und .htaccess ...)