如何将Image字节传递给Velocity模板

时间:2013-03-29 20:29:45

标签: java velocity

我需要通过使用我需要打印图像的速度模板将图像字节传递给速度模板(我已准备好图像字节)..

我想在速度模板中访问这些图像字节。 如何在速度模板中访问这些字节?

任何人都可以帮我这个..

由于

2 个答案:

答案 0 :(得分:1)

现在已经有一年了,但是有些人仍然遇到同样的问题,这是适合你的解决方案。

ByteArrayOutputStream outputStreamForBarcode = new ByteArrayOutputStream();
        ImageIO.write(bufferedImage, "jpg", outputStreamForBarcode);
       String imageText = com.sun.org.apache.xerces.internal.impl.dv.util.Base64.encode(outputStreamForBarcode.toByteArray());

在力度模板中,您可能需要将其称为:

<img src="data:image/jpg;base64,${generatedImageText}" alt="imagename"/>

答案 1 :(得分:0)

您可以使用ImageIO的write方法写入指定所需格式的ByteArrayOutputStream,然后获取字节数组。

例如:

    BufferedImage bimage = ImageIO.read(new File("image.jpg"));
    ByteArrayOutputStream bOut = new ByteArrayOutputStream();
    ImageIO.write(bimage, "JPG", bOut);
    byte[] imageBytes = bOut.toByteArray();     

Link to Javadocs