我有一个图像,我需要根据url参数添加不同的文本。我打算用Graphics2D / BufferedImage做这个。
问题是,我是否必须将图像保存到磁盘才能在JSP中向用户显示?只显示图像的目的,我宁愿不保存将要生成的数千张图像......
谢谢!
答案 0 :(得分:4)
您不必将图像保存到磁盘。您可以使用简单的vanilla servlet生成BufferedImage
,然后使用ImageIO.write()
将该图像写入response.getOutputStream()
。只需确保将标头设置为正确的内容类型即可。然后,在JSP生成的HTML中,只需使用servlet的URL作为src
标记的img
。
答案 1 :(得分:1)
您可以对图像进行base64编码并将其放入页面。然而,浏览器不会对它进行缓存。
https://en.wikipedia.org/wiki/Data_URI_scheme#Web_browser_support