mcp: Datei ausgabe

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

  1. 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

    1. 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 ...)