Bild _in_ HTML (inline-bild)
Hi,
jemand eine Ahnung wie ich ein InlineBild mit Java generiere.
Dashier funzt nicht:
HTML Inline-bilder:
http://aktuell.de.selfhtml.org/artikel/grafik/inline-images/
jemand eine Ahnung wie ich ein InlineBild mit Java generiere.
Dashier funzt nicht:
|
|
Quellcode |
1 2 3 4 |
FileInputStream fis = new FileInputStream("c:\\blabla\\b.gif");
sun.misc.BASE64Encoder enc = new sun.misc.BASE64Encoder();
enc.encode(fis,System.out);
|
HTML Inline-bilder:
http://aktuell.de.selfhtml.org/artikel/grafik/inline-images/
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »nocturne« (11. Oktober 2007, 09:31)
gehjt es vielleicht mit der lib? -->http://commons.apache.org/codec/userguide.html
habe ich noch nicht gemacht, aber bietet auch BASE64-encoding
vielleicht hilft dir das weiter -->http://www.java-forum.org/de/viewtopic.p…t=base64encoder
habe ich noch nicht gemacht, aber bietet auch BASE64-encoding
vielleicht hilft dir das weiter -->http://www.java-forum.org/de/viewtopic.p…t=base64encoder
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »ospx« (11. Oktober 2007, 10:35)
Also mit dem Code, den du da hast, kann ich leider gar nichts anfangen..
Hier habe ich aber mal eine englische Anleitung gefunden: http://www.faqs.org/rfcs/rfc2397.html
Und falls du es nur vereinzelt brauchst, könntest du das hier verwenden:
http://www.sveinbjorn.org/dataurlmaker
Hier habe ich aber mal eine englische Anleitung gefunden: http://www.faqs.org/rfcs/rfc2397.html
Und falls du es nur vereinzelt brauchst, könntest du das hier verwenden:
http://www.sveinbjorn.org/dataurlmaker
http://zoryfl.wmw.cc
nope
Geht nicht!
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 |
FileInputStream fis = new FileInputStream("c:\\blabla\\b.gif");
BufferedInputStream bis = new BufferedInputStream(fis);
org.apache.commons.codec.binary.Base64 codec = new Base64();
StringBuffer sb = new StringBuffer();
while(bis.available()>0)
sb.append((char)bis.read());
System.out.println(new String(codec.encode(sb.toString().getBytes())));
|
Geht nicht!
Zitat
Original von zoryfl
Also mit dem Code, den du da hast, kann ich leider gar nichts anfangen..
Hier habe ich aber mal eine englische Anleitung gefunden: http://www.faqs.org/rfcs/rfc2397.html
Und falls du es nur vereinzelt brauchst, könntest du das hier verwenden:
http://www.sveinbjorn.org/dataurlmaker
Ja, die beiden Seiten habe ich auch schon gefunden und durchgearbeitet.
Die letztere funktioniert hervorragend. Leider löst das mein Problem nicht.
Es geht!
Kurios !!!!
Die original sun.misc.BASE64Encoder - Library geht.
Diese org.apache.commons.codec.binary.Base64 jedoch kannste knicken.
Es lag am Zeilenumbruch in der ausgabe von sun.misc.BASE64Encoder.encode()
das das Bild nicht angezeigt werden kann.
Also:
PPS: Ich editiere meine Posts bis die kabel rauchen. *g* Ihr seht schon, ich bin ein echter entwickler ... nach und nach *lol*.
Auch ganz geil: src-wert einfach in die URL kopieren. (Geht auch mit Java-Appletts, und weil data: als protokoll verarbeitet wird ... )
.... Ach du heilige *****
Kurios !!!!
Die original sun.misc.BASE64Encoder - Library geht.
Diese org.apache.commons.codec.binary.Base64 jedoch kannste knicken.
Es lag am Zeilenumbruch in der ausgabe von sun.misc.BASE64Encoder.encode()
das das Bild nicht angezeigt werden kann.
Also:
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
public static void main(String[] args) throws Exception {
System.out.print("data:image/gif;base64,");
FileInputStream fis = new FileInputStream("c:\\blabla\\zertif1.gif");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BASE64Encoder enc = new BASE64Encoder();
enc.encode(fis, baos);
System.out.println(baos.toString().replaceAll("\r\n", ""));
}
|
PPS: Ich editiere meine Posts bis die kabel rauchen. *g* Ihr seht schon, ich bin ein echter entwickler ... nach und nach *lol*.
Auch ganz geil: src-wert einfach in die URL kopieren. (Geht auch mit Java-Appletts, und weil data: als protokoll verarbeitet wird ... )
.... Ach du heilige *****
|
|
Quellcode |
1 2 3 4 5 6 7 8 9 |
System.out.print("data:application/octet-stream;base64,");
FileInputStream fis = new FileInputStream("c:\\Windows\\notepad.exe");
ByteArrayOutputStream baos = new ByteArrayOutputStream();
BASE64Encoder enc = new BASE64Encoder();
enc.encode(fis, baos);
System.out.println(baos.toString().replaceAll("\r\n", ""));
|
Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von »nocturne« (11. Oktober 2007, 11:12)
Zitat
Original von nocturne
Es geht!
Kurios !!!!
Anstatt einem Tripple-Post hättest du deine Beiträge auch bearbeiten können, und anstatt "Es geht - Kurios" hättest uns auch sagen können, wie es nun funktioniert hat..
edit: guter Edit von dir.
http://zoryfl.wmw.cc
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »zoryfl« (11. Oktober 2007, 10:54)
Mal eine Frage nebenbei.
Ich habe mal versucht ein Bild mit html einzubinden, dabei kamen ähnlich viele Zeichen raus wie auf den Beispielseiten die ich hier gesehen habe.
Bläst das hier nicht auch enorm die größe der einzelnen Datei auf und sorgt so dafür das es richtig lange dauert bis der User die Seite geladen hat?
Jan
Ich habe mal versucht ein Bild mit html einzubinden, dabei kamen ähnlich viele Zeichen raus wie auf den Beispielseiten die ich hier gesehen habe.
Bläst das hier nicht auch enorm die größe der einzelnen Datei auf und sorgt so dafür das es richtig lange dauert bis der User die Seite geladen hat?
Jan
"Fehler sind immer zu Verzeihen, wenn man den Mut hat, diese auch zu zugeben." Lee Jun-Fan
Zitat
Original von Jan Schattling
Mal eine Frage nebenbei.
Ich habe mal versucht ein Bild mit html einzubinden, dabei kamen ähnlich viele Zeichen raus wie auf den Beispielseiten die ich hier gesehen habe.
Bläst das hier nicht auch enorm die größe der einzelnen Datei auf und sorgt so dafür das es richtig lange dauert bis der User die Seite geladen hat?
Jan
Das ist korrekt, du hast den Nachteil richtig erfasst.
Die inline-informationen werden natürlich nicht gecached.


