struts2显示服务器图片,struts2通过文件流将图片文件显示在页面中

众所周知,在我们做程序开发时,文件的上传有多种方式,其中,最常见的的两种方式是将文件直接上传到服务器的硬盘中,然后将文件的路径等相关信息插入数据库中,用户要找文件时直接通过数据库所提供的信息在服务器的硬盘里就可以找到,另外一种则是将文件直接存入数据库中。包括文件大小,文件名,文件类型和文件内容。

图片只是所有文件系统的一个分支,这一次我们就来讨论下图片文件的显示问题,当我们采用第一宗方式将图片文件上传到服务器的硬盘时,我们要调用文件并且显示出来,只需要告诉系统图片文件所在路径就可以了,通过连接服务器的图片所在路径就可以显示图片,在此就不多做介绍,我们来介绍另外一种方式显示图片文件。

首先,我们要知道一个图片文件在数据库中存储的是内容是什么,一般情况下是以字节数组形式存入到数据库中。

假设一个文件对象file,在数据库中有相关属性,其中内容是content,byte[] 类型

action中的代码如下

public String viewImages() {

HttpServletResponse response = null;

ServletOutputStream out = null;

try {

response = ServletActionContext.getResponse();

response.setContentType("multipart/form-data");

out = response.getOutputStream();

out.write(file.getContent());

out.flush();

} catch (Exception e) {

e.printStackTrace();

} finally {

if (out != null) {

try {

out.close();

} catch (Exception e) {

e.printStackTrace();

}

}

if (response != null) {

try {

response.close();

} catch (Exception e) {

e.printStackTrace();

}

}

}

return

null; }

注意,此方法必须放回null,

struts.xml的配置如下

method="viewImages">

jsp页面的调用代码如下

显示图片

至此,通过struts2将图片流显示在jsp页面中,同时如果直接访问这个action可以将这个文件下载到本地磁盘中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值