struts2通过文件流将图片文件显示在页面中
2016-12-07 12:29
435 查看
原文出处:http://blog.sina.com.cn/s/blog_9d05e9c101014dre.html
众所周知,在我们做程序开发时,文件的上传有多种方式,其中,最常见的的两种方式是将文件直接上传到服务器的硬盘中,然后将文件的路径等相关信息插入数据库中,用户要找文件时直接通过数据库所提供的信息在服务器的硬盘里就可以找到,另外一种则是将文件直接存入数据库中。包括文件大小,文件名,文件类型和文件内容。
图片只是所有文件系统的一个分支,这一次我们就来讨论下图片文件的显示问题,当我们采用第一宗方式将图片文件上传到服务器的硬盘时,我们要调用文件并且显示出来,只需要告诉系统图片文件所在路径就可以了,通过连接服务器的图片所在路径就可以显示图片,在此就不多做介绍,我们来介绍另外一种方式显示图片文件。
首先,我们要知道一个图片文件在数据库中存储的是内容是什么,一般情况下是以字节数组形式存入到数据库中。
假设一个文件对象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的配置如下
<action name="访问action名" class="action类名" method="viewImages"></action>
jsp页面的调用代码如下
<img alt="显示图片" src="<s:url action='访问action名'><s:param name='向action传递参数名' value='参数值'></s:param></s:url>"></img>
至此,通过struts2将图片流显示在jsp页面中,同时如果直接访问这个action可以将这个文件下载到本地磁盘中。
众所周知,在我们做程序开发时,文件的上传有多种方式,其中,最常见的的两种方式是将文件直接上传到服务器的硬盘中,然后将文件的路径等相关信息插入数据库中,用户要找文件时直接通过数据库所提供的信息在服务器的硬盘里就可以找到,另外一种则是将文件直接存入数据库中。包括文件大小,文件名,文件类型和文件内容。
图片只是所有文件系统的一个分支,这一次我们就来讨论下图片文件的显示问题,当我们采用第一宗方式将图片文件上传到服务器的硬盘时,我们要调用文件并且显示出来,只需要告诉系统图片文件所在路径就可以了,通过连接服务器的图片所在路径就可以显示图片,在此就不多做介绍,我们来介绍另外一种方式显示图片文件。
首先,我们要知道一个图片文件在数据库中存储的是内容是什么,一般情况下是以字节数组形式存入到数据库中。
假设一个文件对象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的配置如下
<action name="访问action名" class="action类名" method="viewImages"></action>
jsp页面的调用代码如下
<img alt="显示图片" src="<s:url action='访问action名'><s:param name='向action传递参数名' value='参数值'></s:param></s:url>"></img>
至此,通过struts2将图片流显示在jsp页面中,同时如果直接访问这个action可以将这个文件下载到本地磁盘中。
相关文章推荐
- Struts2文件(图片)上传及页面显示
- Struts2上传图片到Mysql数据库中,以及显示到页面
- Struts2上传图片到Mysql数据库中,以及显示到页面
- 使用Qt通过cgi导入文件并显示在页面上并做类似Action功能的跳转
- struts2 图片上传到服务器并显示在页面
- struts2 页面显示 图片
- Struts2上传文件带中文名时.图片显示会出现%乱码解决
- 用struts2来导入excel文件并显示到页面上
- Struts2上传图片到Mysql数据库中,以及显示到页面
- struts2页面上显示图片流
- Java_JavaEE_轻量(SSH)_Struts2资源文件在jsp页面中显示乱码解决;
- Struts2上传图片到Mysql数据库中,以及显示到页面
- 针对这一段时间ASP.NET版中比较集中突出的问题,我写了一个完整的页面,包含显示/修改/删除/添加/排序/合并/写文件/显示图片或文档,有详细代码注释
- Struts2 通过&quot;流&quot;下载文件时显示中文文件名
- 在html页面用ajax的简单应用通过javascript得到数据库中的图片路径并在表格中显示出来
- Struts2上传图片到Mysql数据库中,以及显示到页面
- 使用Form验证,未登录时登录页面无法显示图片、css、js文件的解决方法
- php中通过设置php.ini(或者写到需要受影响的单个php文件中)使warning,notice等错误报告不在页面中显示
- Servlet从本地文件中读取图片,并显示在页面中
- struts2 hibernate 在jsp页面上面显示多个图片