环境:SSH2
在Action中解析了一张图像,缓存在BufferedImage的实例image中,需要将image对象中的图像在前端用canvas显示。
各位大神,给个实现思路,不胜感激!!
------解决思路----------------------
var img=new Image()
img.src="你的servlet或其他地址"
cxt.drawImage(img,0,0);
你图像的地址就是一个servlet或什么struts的action之类的,用输出流写入图像的数据就行
------解决思路----------------------
FileOutputStream fos = new FileOutputStream("img.png");
fos.write(bImg);
src 就是你后天的写过来的流。
------解决思路----------------------
你这是一步步要别人把代码给你写完整
假如你是用servlet做的,这个servlet里你就把这个图片写入到response的输出流里
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
File imageFile = new File("xxx.jpg");
BufferedImage image = ImageIO.read(imageFile);
OutputStream out = response.getOutputStream();
ImageIO.write(image,"jpg",out);
out.close();
}
然后假如你的servlet的映射url是/readImage
var canvas = document.getElementById('mycanvas');
var context = canvas.getContext('2d');
var img = new Image();
img.src="/readImage";
context.drawImage(img,0,0);
------解决思路----------------------
只要能访问图片的url就可以,可以参见验证码的实现