画像をBase64としてエンコードし、文字列としてJSに渡し、data:image/gif;
フォームのURLを使用してWebページに表示することができます。J2SEには変換用のメソッドが組み込まれていないため、「独自の」base64エンコーダーをロールするかAPIを見つける必要があります。1
HTMLでは次のようになります。
<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7"
width="16" height="14" alt="embedded folder icon">
データURLを使用してインライン画像から取得したEG 。
- 後のJRE(JAXBが導入された後)では、
DatatypeConverter.printBase64Binary(byte[])
次のようなものを使用するように見えます。
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ImageIO.write(image, "png", baos);
} catch (IOException e) {
showError(e);
e.printStackTrace();
}
String imageString = "data:image/png;base64," +
DatatypeConverter.printBase64Binary(baos.toByteArray());