とにかくリンクを与える代わりにフリーマーカーで画像を書くことはありますか
<img src="${pathToPortalImage}
注:フリーマーカーでotputstreamなどを使用することはできませんか?
とにかくリンクを与える代わりにフリーマーカーで画像を書くことはありますか
<img src="${pathToPortalImage}
注:フリーマーカーでotputstreamなどを使用することはできませんか?
img
画像を base64 として htmlタグ内に直接埋め込むことができます。
画像を base 64 に変換するには、Apache Commons (コーデック)を使用できます。
Apache Commons IO + Codec を使用したソリューションを次に示します (ただし、必要に応じて使用しなくてもかまいません)。
File img = new File("file.png");
byte[] imgBytes = IOUtils.toByteArray(new FileInputStream(img));
byte[] imgBytesAsBase64 = Base64.encodeBase64(imgBytes);
String imgDataAsBase64 = new String(imgBytesAsBase64);
String imgAsBase64 = "data:image/png;base64," + imgDataAsBase64;
次に、変数imgAsBase64
を Freemarker コンテキストに渡し、次のように使用します。
<img alt="My image" src="${imgAsBase64}" />