JPG aus Servlet im Internet Explorer ausgeben

PetraB

Mitglied
Hallo,

ich möchte ein Bild auf den Server hochladen, es bearbeiten und dann wieder im Browser anzeigen lassen. Im Firefox funktioniert es auch genau so, nur im Internet Explorer geht der Dialog zum Datei speichern auf. Er soll das Bild aber einfach anzeigen.

Hier der betreffende Quellcode:
Code:
response.setContentType( "image/jpg" );
ServletOutputStream out = response.getOutputStream();
[...]
String ar = POISelection.POIMain(latitude,longitude,sight,file,orientation,fNumber,focal,zoomRatio);
File ar_foto = new File(ar);
InputStream in = new FileInputStream(ar_foto);
byte pic[]= new byte[in.available()];
in.read( pic );			           
response.addHeader("Content-disposition", ":inline;filename=\"" +ar+ "\"");
out.write( pic );

Über response.addHeader hatte ich versucht, die Ausgabe zu beeinflussen, aber das bewirkt nur, dass jedes Mal der Datei speichern Dialog geöffnet wird. Wie kann ich alle Browser dazu bringen, die Datei direkt anzuzeigen?

Viele Grüße

PetraB
 
stichwort : dateinamenerweiterung

wenn du das bild an eine datei schickst die eine dateiendung besitz die windows nicht als bild akzeptiert wird grundsätzlich der SAVE AS - dialog geöffnet ...
wie du nun aber ein script hinter einem anderen dateinamen versteckst wurde hier in den unterschiedlichsten sprachen bereits gepostet

grund für dieses verhalten ist das der IE grundsätzlich erstmal die dateinamenerweiterung checkt ...
der IE ist eigentlich nichts weiter als eine spezielle abwandlung des normalen windows-explorers ... desshalb erbt er diese eigentschaft *immer dieses OOP ... das konnte M$ schon zu zeiten von win95*

mach dich also mal einfach schlau wie du dein script nun hinter einem anderen dateinamen verstecken kannst so das der IE denkt er würde ein bild laden ... in wirklichkeit führt er aber ein servlet aus *bzw : er veranlasst den server dieses auszuführen*

ein beispiel möchte ich jetzt nicht abgeben da dir die sufu hier weiterhelfen sollte
 
Zurück