`
leobluewing
  • 浏览: 238884 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

struts2 显示图片

 
阅读更多
好久没做struts2,基本全忘光了。

今天碰到个以前没做过的东西,记录一下。

jsp页面上 <img src="showimage.action"> 这种方式来显示图片

配置文件如下:

<action name="showimage"
class="ImageTestAction" method="getImage">
<result name="success" type="stream">
<param name="contentType">image/png</param> 
<param name="inputName">imageStream</param>
</result>
</action>

直接写<action name="showimage" class="ImageTestAction" method="getImage"></action>也行,不过在action中需要output.write显式的输出数据流,代码不是很友好。

action代码,配置result的方法
try {
				ByteArrayOutputStream output = new ByteArrayOutputStream();
				BufferedImage image = ImageIO.read(new File("c:\\1.png"));
				ImageIO.write(image, "png", output);
				this.imageStream = new ByteArrayInputStream(output.toByteArray());
				return SUCCESS;
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
				return "fail";
			}


action代码,不配置result的方法
 try {
		 OutputStream out = response.getOutputStream();
		 BufferedImage image = ImageIO.read(new File("c:\\1.png"));
		 ByteArrayOutputStream imageout = new ByteArrayOutputStream();
		 boolean flag = ImageIO.write(image, "png", imageout);
		 byte[] imgData = imageout.toByteArray();
		 if(imgData != null){
		 out.write(imgData);
		 }
		 return null;
		 } catch (Exception e) {
		 e.printStackTrace();
		 return "fail";
		 }


以前写img都是用文件系统,这次直接写到数据库里,还真是没这么搞过,小记一笔。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics