Hallo!
Ich möchte in einer Java-Klasse ein Bild über eine URL laden und dieses Bild dann irgendwie als Stream (oder wie auch immer das funktionieren soll) zurückgeben, so das ich in einer JSP-Seite ein img-tag etwa folgendermassen laden kann:
<img src="<%=MyImageClass.getPicStream("http://server.de/bild1.jpg")%>">
Habe in google sehr lange danach gesucht und man findet auch einiges zu dem Thema, allerdings immer nur für Java-Windows-Anwendungen in awt oder swing. Ich will das Bild ja aber im Web ausgeben und möchte durch die Java-Klasse den gleichen Datenstrom haben, wie als würde man direkt schreiben:
<img src="http://server.de/bild1.jpg">
Falls sich jemand fragt, warum ich diesen Wahnsinn überhaupt machen will: Wir haben einen Image-Server und einen Webserver auf der selben Maschine laufen, der Webserver natürlich auf Port 80 und der Imageserver auf Port 60. Manche Firewalls (vorallem in Firmen) blocken den Port 60, deswegen können diese Kunden keine Bilder in unserem Shop sehen.
Ich hab schon mehrere Versuche gemacht, aber nichts hat funktioniert.
Hab mir auch das Thema durchgelesen:
http://www.tutorials.de/forum/java/178911-java-jpeg-laden-verkleinern-speichern.html
aber da wird das Bild ja auch irgendwie anders ausgegeben.
Hab versucht, das Bild ungefähr so zu laden:
ImageOutputStream ios = ImageIO.createImageOutputStream(new URL('pic.jpg'));
oder so:
BufferedImage image = ImageIO.read(new URL('pic.jpg'));
und es dann irgendwie zu übergeben, aber ich denke, ich gehe da schon falsch ran.
Vielleicht weiß ja jemand einen Rat.
Vielen Dank im Vorraus!
Ich möchte in einer Java-Klasse ein Bild über eine URL laden und dieses Bild dann irgendwie als Stream (oder wie auch immer das funktionieren soll) zurückgeben, so das ich in einer JSP-Seite ein img-tag etwa folgendermassen laden kann:
<img src="<%=MyImageClass.getPicStream("http://server.de/bild1.jpg")%>">
Habe in google sehr lange danach gesucht und man findet auch einiges zu dem Thema, allerdings immer nur für Java-Windows-Anwendungen in awt oder swing. Ich will das Bild ja aber im Web ausgeben und möchte durch die Java-Klasse den gleichen Datenstrom haben, wie als würde man direkt schreiben:
<img src="http://server.de/bild1.jpg">
Falls sich jemand fragt, warum ich diesen Wahnsinn überhaupt machen will: Wir haben einen Image-Server und einen Webserver auf der selben Maschine laufen, der Webserver natürlich auf Port 80 und der Imageserver auf Port 60. Manche Firewalls (vorallem in Firmen) blocken den Port 60, deswegen können diese Kunden keine Bilder in unserem Shop sehen.
Ich hab schon mehrere Versuche gemacht, aber nichts hat funktioniert.
Hab mir auch das Thema durchgelesen:
http://www.tutorials.de/forum/java/178911-java-jpeg-laden-verkleinern-speichern.html
aber da wird das Bild ja auch irgendwie anders ausgegeben.
Hab versucht, das Bild ungefähr so zu laden:
ImageOutputStream ios = ImageIO.createImageOutputStream(new URL('pic.jpg'));
oder so:
BufferedImage image = ImageIO.read(new URL('pic.jpg'));
und es dann irgendwie zu übergeben, aber ich denke, ich gehe da schon falsch ran.
Vielleicht weiß ja jemand einen Rat.
Vielen Dank im Vorraus!