ÄãÊÇ·ñÔø¾Ïë¹ý´ÓjspÒ³Ãæ£¨»òÕßservlet£©Öз¢ËͶ¯Ì¬²úÉúµÄͼÏñ?ÕâÆª¼¼ÇɸæËßÄãÈçºÎ×ö¡£ÒªÔËÐÐÕâÀïµÄ´úÂ룬ÄãÐèÒªÒ»¸öTomcat»òÕ߯äËûÖ§³ÖJSP 1.1µÄweb·þÎñÆ÷¡£
µ±Ò»¸öwebÒ³Ãæ´øÓÐimage/jpeg £¨»òÕ߯äËûµÄͼÏñ¸ñʽ£©µÄMIMEÀàÐͱ»·¢ËÍʱ£¬ÄãµÄä¯ÀÀÆ÷½«ÄǸö·µ»Ø½á¹ûµ±×÷Ò»¸öͼÏñ£¬È»ºóä¯ÀÀÆ÷ÏÔʾͼÏñ£¬×÷ÎªÒ³ÃæµÄÒ»²¿·Ö»òÕßÍêÈ«×÷ΪͼÏñ×ÔÉí¡£ÒªÎªÄãµÄjspÒ³ÃæÉèÖÃMIMEÀàÐÍ£¬ÄãÐèÒªÉèÖÃÒ³ÃæµÄcontentTypeÊôÐÔ£º
£¼%@ page contentType=%26quot;image/jpeg%26quot; ... %£¾
È»ºóÄãÐèÒª´´½¨Ò»¸öBufferedImage»æÖÆÄãµÄ¶¯Ì¬Í¼Ïñ£º
BufferedImage image = new BufferedImage£¨width,height, BufferedImage.TYPE_INT_RGB£©£»
´´½¨ÍêÒ»¸öBufferedImageºó£¬ÄãÐèÒªµÃµ½Í¼Ðλ·¾³½øÐлæÖÆ£¬Ò»¸öGraphics»òÕßGraphics2D¶ÔÏó£º
Graphics g = image.getGraphics£¨£©£»
// or
Graphics2d g2d = image.createGraphics£¨£©£»
´ÓÏÖÔÚÆðÄã¾Í¿ÉÒÔ»æÖÆÍ¼ÏñÄÚÈÝÁË¡£¶ÔͼÐλ·¾³»æÖƾͻỵ½BufferedImage¡£×ʼÕâ¸öͼÏñ¶¼ÊǺÚÉ«µÄ£¬Òò´ËÓÃÄãÏ£ÍûµÄ±³¾°ÑÕÉ«Ìî³äͼÏñÊÇÒ»¸ö²»´íµÄÖ÷Ò⣬Ȼºó£¬µ±ÄãÍê³ÉͼÏñµÄ»æÖÆ£¬ÄãÐèÒªdisposeͼÐλ·¾³£º
g.dispose£¨£©£»
// or
g2d.dispose£¨£©£»
Ò»µ©Íê³ÉͼÏñµÄ»æÖÆ£¬ÄãÔÚresponseÖзµ»ØÄǸöͼÏñ¡£Äã¿ÉÒÔʹÓ÷DZê×¼µÄcom.sun.image.codec.jpeg°üÖеÄJPEGImageEncoderÀà±àÂëͼÏñ£¬»òÕßÈç¹ûÄãʹÓÃJDK1.4£¬Äã¿ÉÒÔʹÓñê×¼µÄImageIOÀà¡£ÔÚʹÓÃJPEGImageEncoderʱÓÐÒ»¸ö¼¼ÇÉ£¬Äã±ØÐë´ÓServletResponseÈ¡À´ServletOutputStream¶ø²»ÄÜʹÓÃÒþº¬µÄJSPÊä³ö±äÁ¿out¡£
ServletOutputStream sos = response.getOutputStream£¨£©£»
JPEGImageEncoder encoder =JPEGCodec.createJPEGEncoder£¨sos£©£»
encoder.encode£¨image£©£»
// or
ImageIO.write£¨image, %26quot;JPEG%26quot;, out£©£»
ÕâÀïÓÐÒ»¸ö´ÓËùÓеĿÉÄÜ·½°¸ÖУ¨ÀýÈçg.dispose£¨£©£»»òÕßg2d.dispose£¨£©£»£©Ñ¡È¡µÄÒ»¸öÍêÕûµÄ·¶Àý.Õâ¸öÀý×ÓʹÓÃGraphics¶ÔÏó»æÖÆÒ»¸öËæ»úµÄ¶à±ßÐΣ¬Í¼Ïñͨ¹ýJPEGImageEncoder»æÖÆ£¬Äã¿ÉÒÔ×ÔÓÉÉèÖöà±ßÐεĶ¥µãÊýµÃµ½¸ü¸´ÔÓµÄÐÎ×´£¬»»ÑÔÖ®£¬Óиü¶à¶¥µãºÍ±ß¡£
ÒªÔËÐÐÕâ¸ö·¶Àý£¬½«´Ó%26quot;£¼%@%26quot;µ½×îºóÒ»¸ö%26quot;%£¾%26quot;Ö®¼äµÄjsp´úÂë·Åµ½Ò»¸öÃûΪimage.jspµÄÎļþÖУ¬½«ÄǸöÎļþ·Åµ½ÄãµÄweb·þÎñÆ÷¿ÉÒÔÕÒµ½µÄµØ·½£¬ÔÚʹÓÃTomcatµÄÇé¿öÏÂÊÇROOTĿ¼£¬Æô¶¯Tomcat£¬·ÃÎÊhttp://localhost:8080/image.jsp¡£ ( ¸ºÔð±à¼£º ÕÅ»ªÎÄ )
没有评论:
发表评论