我有一个ByteArrayOutputStream,其中包含一个JPEG图像的字节。我的要求是在JSP页面中显示该图像(使用HTML标签在前端显示图像)。我该怎么做?
我已经参考了BufferedImage类,但对我来说很困惑,因为我是新手。
我已经参考了BufferedImage类,但对我来说很困惑,因为我是新手。
如果图片不太大,您可以按照以下方式操作。
<img src="data:image/jpg;base64,iVBORw0KGgoAAAANS..." />
这里的...是使用Base64编码后的字节。
可以使用类库进行Base64编码,例如Ostermiller Java Utilities' Base64 Java Library或者org.apache.commons.codec.binary.Base64。
img
标记,以便您可以使用ByteArrayOutputStream
响应后续的图像请求中的数据。
根据您获取JPEG文件的方式以及服务器如何扩展,这可能涉及将图像写入磁盘,将其缓存在内存中,重新生成它或任何这些组合。
如果您可以将图像生成延迟到浏览器首次请求实际图像,则非常理想。 这可能涉及在图像的URL中添加额外的参数-例如图形上的点,要生成的缩略图大小或您的图像等。
如果您对JSP和HTML都不熟悉,我强烈建议您首先专注于HTML方面。 在确定动态提供内容之前,先确定您需要提供什么以及浏览器将执行的操作。 从HTML和图像的静态页面和文件开始,然后再确定如何生成它们。