Stephan Schmid: Bildanzeige unterdruecken - Speichern Dialog erzwingen

Statt ein Bild im Browser darzustellen, moechte ich, dass der Benutzer dieses über einen Link auf die lokale Festplatte laden kann. Obwohl ich im CGI, welches in diesem Fall das Bild liefern soll, im Header den content-type "application/octet-stream" angebe, findet der IIS Web Server dass dem nicht so ist und aendert entsprechend den content-type.
Gibt es eine einfache Moeglichkeit dies zu umgehen, damit der "Save As" Dialog erscheint?

Stephan

  1. Hallo Stephan,

    Statt ein Bild im Browser darzustellen, moechte ich, dass der Benutzer dieses über einen Link auf die lokale Festplatte laden kann. Obwohl ich im CGI, welches in diesem Fall das Bild liefern soll, im Header den content-type "application/octet-stream" angebe, findet der IIS Web Server dass dem nicht so ist und aendert entsprechend den content-type.

    Vermutlich erkennt er an der Dateiendung, um was es sich handelt und reagiert deshalb selbstaendig.
    Der einfachste Weg, das zu umgehen, ist, jede Grafik in eine ZIP-Datei zu tun und den Link darauf zu legen. Dann klappt's immer mit dem Download, und ausserdem sind die Dateien kleiner weil gepackt.

    Viele Gruesse
      Stefan Muenz

    1. Besten Dank fuer Dein Feedback.

      Vermutlich erkennt er an der Dateiendung, um was es sich handelt und reagiert deshalb selbstaendig.

      Genau das ist das Problem!

      Der einfachste Weg, das zu umgehen, ist, jede Grafik in eine ZIP-Datei zu tun und den Link darauf zu legen. Dann klappt's immer mit dem Download, und ausserdem sind die Dateien kleiner weil gepackt.

      Weisst Du ob es ein fertiges COM Control (ActiveX-DLL) gib, welches man zum zippen von Files einsetzen kann (von einem CGI aus)? Wäre praktischer als eine pkzip Shell zu oeffnen.

      Gruesse, Stephan

      1. hi!

        Der einfachste Weg, das zu umgehen, ist, jede Grafik in eine ZIP-Datei zu tun und
        den Link darauf zu legen. Dann klappt's immer mit dem Download, und ausserdem
        sind die Dateien kleiner weil gepackt.

        Weisst Du ob es ein fertiges COM Control (ActiveX-DLL) gib, welches man zum zippen
        von Files einsetzen kann (von einem CGI aus)? Wäre praktischer als eine pkzip Shell
        zu oeffnen.

        Was spricht dagegen, pkzip zu verwenden? Es ist doch kein Problem, aus einem Perl-Skript Kommandozeilen-Programme auszuführen.

        bye, Frank!

        1. Weisst Du ob es ein fertiges COM Control (ActiveX-DLL) gib, welches man zum zippen
          von Files einsetzen kann (von einem CGI aus)? Wäre praktischer als eine pkzip Shell
          zu oeffnen.

          Was spricht dagegen, pkzip zu verwenden? Es ist doch kein Problem, aus einem Perl-Skript Kommandozeilen-Programme auszuführen.

          bye, Frank!

          Hallo Frank

          Klar, das wäre kein Problem! Solange nicht viele User gleichzeitig eine Shell öffnen ist nichts dagegen auszusetzen.
          Vieleicht werde ich doch noch fündig...

          Stephan

  2. Statt ein Bild im Browser darzustellen, moechte ich, dass der Benutzer dieses über einen Link auf die lokale Festplatte laden kann. Obwohl ich im CGI, welches in diesem Fall das Bild liefern soll, im Header den content-type "application/octet-stream" angebe, findet der IIS Web Server dass dem nicht so ist und aendert entsprechend den content-type.
    Gibt es eine einfache Moeglichkeit dies zu umgehen, damit der "Save As" Dialog erscheint?

    Hallo!

    Versuch doch mal sowas wie (Siehe auch <../../tcfg.htm#a3>

    <a href="Bild.cgi" type="application/octet-stream">Hier Downloaden</a>

    Damit müßte der Browser den Mime-Typen des Servers ingorieren und die Datei zum Download anbieten.

    HTH,
    Markus