Ralf: IE: öffnen eines JPEGs mit externer Anwendung

Über ein Servlet wird ein JPEG an den Client geschickt. Der Response hat dabei den ContentType "image/jpeg" (der IE scheint aber den ContentType komplett zu ignorieren). Nun soll dieses JPEG-Bild nicht direkt im Browser geöffnet werden, sondern mit der im Windows-System registrierten Standardanwendung für JPEGs.
Alternativ kann der Benutzer das Bild auch als Tiff anzeigen. Dort öffnet der IE (6.0) problemlos die entsprechende Anwendung für TIFFs.
Ist das möglich?
Danke für die Hilfe!

  1. Ja, probier mal folgendes:

      
    response.setContentType("image/jpeg");  
    response.setHeader("Content-Disposition", "attachment;filename=\"" + fileName + "\"");  
    response.setHeader("Cache-Control", "public");  
    response.setHeader("Pragma", "public");  
    OutputStream os = response.getOutputStream();  
    os.write(mediaData.getContent());  
    os.flush();  
    os.close();  
    
    

    Sollte zumindest den Browser darauf hinweisen, welches Tool genutzt werden kann.
    Hoffe ich habe deine Frage richtig verstanden und konnte helfen.

    1. Ja, probier mal folgendes:

      response.setContentType("image/jpeg");
      response.setHeader("Content-Disposition", "attachment;filename="" + fileName + """);
      response.setHeader("Cache-Control", "public");
      response.setHeader("Pragma", "public");
      OutputStream os = response.getOutputStream();
      os.write(mediaData.getContent());
      os.flush();
      os.close();

      
      >   
      > Sollte zumindest den Browser darauf hinweisen, welches Tool genutzt werden kann.  
      > Hoffe ich habe deine Frage richtig verstanden und konnte helfen.  
        
      Das geht! Der IE bietet mir dann an es zu öffnen, speichern oder abzubrechen. War genau das was ich wollte. Kann man ihm auch beibringen, es immer direkt zu öffnen?  
        
      Nur um die Lösung zu verstehen:  
      Welche genaue Funktion haben die Header-Attribute: Content-Disposition, Cache-Control und Pragma?  
        
      Danke für die schnelle Antwort!  
      
      
      1. Das geht! Der IE bietet mir dann an es zu öffnen, speichern oder abzubrechen. War genau das was ich wollte. Kann man ihm auch beibringen, es immer direkt zu öffnen?

        Nein :-) [im firefox kann man einen Standard definiere, dort geht es]

        Nur um die Lösung zu verstehen:
        Welche genaue Funktion haben die Header-Attribute: Content-Disposition, Cache-Control und Pragma?

        Danke für die schnelle Antwort!

        Content-Disposition = um was es sich handelt .. also grob, der inhalt des streams

        Cache-Control ... ob das erneute runterladen ggf. aus dem Cache genommen wird

        Pragma etc. kannst du auch hier nachlesen:
        http://www.oreilly.com/openbook/webclient/appa.html