struts2+hibernate+sqlserver2005图片上传以及在页面显示
来源:互联网 发布:邪眼暴君 知乎 编辑:程序博客网 时间:2024/04/28 03:29
问题描述:
在SSH框架下,上传图片,存储到sqlserver2005数据库中,并能够从数据库中取出来在页面展示。
解决方法:
1、图片上传直到action这一步请参照前一篇文章,本文从这里开始说起。首先说实体类:Map
InputStream in = null;@Entity
@Table(name = "OBJ_MAP")
public class Map extends DomainObject {
// 其他字段略去
@Column(name = "mapAddr", nullable = false)
private byte[] mapAddr; // 数据库类型为image
public byte[] getMapAddr() {
return mapAddr;
}
public void setMapAddr(byte[] mapAddr) {
this.mapAddr = mapAddr;
}
}
2、在service中将图片上传至数据库:
public String addMap(MapBean bean){
Map m = new Map();
if (StringUtils.isNotEmpty(bean.getMapAddrFileName())) {
try {
byte buffer[] = new byte[(int)t.getMapAddr().length()];
in = new FileInputStream(t.getMapAddr());
in.read(buffer);
m.setMapAddr(buffer);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
mapDao.save(m); // mapDao由Spring注入
}
3、 存入数据库后,其他页面需要从数据库中取出该图片显示:
@Controller("mapAction")
@Scope("prototype")
public class MapAction{private InputStream imagStream;
private MapService mapService;
public String getMap(){
String id = request.getParameter("id");
Map map = mapService.getMapById(id);
if (map == null) {
request.setAttribute("message", "地图不存在!");
} else {
imagStream = new ByteArrayInputStream(map.getMapAddr());
}
return "mapImag";
}public InputStream getImagStream() {
return imagStream;
}
public void setImagStream(InputStream imagStream) {
this.imagStream = imagStream;
}
public void setMapService(MapService mapService) {
this.mapService = mapService;
}
}
struts.xml配置如下:
<action name="mapAction" class="mapAction">
<result name="mapImag" type="stream"> <!-- 此处type必须是stream -->
<param name="contentType">image/jpeg,image/bmp,image/png,image/gif,image/jpeg,image/pjpeg</param>
<param name="inputName">imagStream</param>
</result></action>
JSP中相关的地方如下:
<div id="preview_fake">
<img id="preview" src="mapAction!getMap.action?id=<s:property value='id'/>" />
</div>
- struts2+hibernate+sqlserver2005图片上传以及在页面显示
- struts2+ajax图片上传以及jsp页面显示
- struts2 图片上传到服务器并显示在页面
- SSH+SQLServer2005图片文件上传及页面显示
- Struts2上传图片到Mysql数据库中,以及显示到页面
- Struts2上传图片到Mysql数据库中,以及显示到页面
- 上传图片后显示在页面js
- 上传控件图片直接在页面显示
- html上传图片后,在页面显示上传的图片
- struts2中使用Blob类型处理图片上传保存在数据库中并在JSP页面中显示图片
- Struts2文件(图片)上传及页面显示
- struts2 页面显示 图片
- 图片上传提交前,图片显示在页面上
- struts2上传图片,并显示在 jsp 上
- 将多个图片上传,并在另外的页面显示
- java中图片上传并在jsp页面显示
- 在页面即时显示要上传图片的缩略图
- 设置上传图片在显示页面的宽度
- MMX和SSE
- jQuery 学习笔记(二)——jQuery 选择器、jQuery事件
- NotificationManager和Notification的使用总结
- HDU/HDOJ 2855 2009 Multi-University Training Contest 5 - Host by NUDT 矩阵二分幂
- 项目案例:湖北省宜昌市交通异地违法处理系统
- struts2+hibernate+sqlserver2005图片上传以及在页面显示
- python random模块
- 闭包权威指南翻译 -前言
- Android开发者应该深入学习的10个开源应用项目
- 做一个像植物大战僵尸的Flash游戏1
- Linux iostat监测IO状态
- SQL 拼音查询
- hibernate QBC查询
- MongoDB入门简介