9

とにかくリンクを与える代わりにフリーマーカーで画像を書くことはありますか

<img src="${pathToPortalImage}

注:フリーマーカーでotputstreamなどを使用することはできませんか?

4

3 に答える 3

14

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}" />
于 2012-11-12T07:24:53.410 に答える