加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

使用ssh向sqlserver2005数据库中保存image类型的二进制图片

发布时间:2020-12-12 13:53:32 所属栏目:MsSql教程 来源:网络整理
导读:1.首先设计数据库表,其中photo、photo2字段均为image类型的。 2.建立实体bean对象,设置两个字段为byte[]如: private byte[] photo;?private byte[] photo2; 3.建立hibernate与数据库的映射文件hbm.xml,其中photo、photo2字段的映射如下: ? property gen

1.首先设计数据库表,其中photo、photo2字段均为image类型的。

2.建立实体bean对象,设置两个字段为byte[]如: private byte[] photo;?private byte[] photo2;

3.建立hibernate与数据库的映射文件hbm.xml,其中photo、photo2字段的映射如下:

? <property generated="never" lazy="false" name="photo" type="binary">
? ?<column name="photo"/>
? </property>
? ?<property generated="never" lazy="false" name="photo2" type="binary">
? ?<column name="photo2"/>
? </property>

4.建立前台上传选择文件的页面:

? ? <form id="inputForm" action="./saveStudent.action" method="post" enctype="multipart/form-data">

? ? ? ? ? ? ?<tr> ?
? ? ? ? ? ? ? ? <th class="tdtitle">上传图片:</th>
? ? ? ? ? ? ? ? <td class="tdcell"><input type="file" id="file" name="file" value="浏览"/></td> ?
? ? ? ? ? ? </tr>
? ? ? ? ? ? <tr> ?
? ? ? ? ? ? ? ? <th class="tdtitle">上传图片:</th>
? ? ? ? ? ? ? ? <td class="tdcell"><input type="file" id="file2" name="file2" value="浏览"/></td> ?
? ? ? ? ? ? </tr>

? </form>

5.在后台action中创建File对象file,并写set、get方法。在save方法中作如下处理(将输入流转换为byte数组):

InputStream inputStream=null;
inputStream = new FileInputStream(file);
byte bytes[]=new byte[inputStream.available()];
inputStream.read(bytes);
inputStream.close();
inputStream=new FileInputStream(file2);
byte bytes2[]=new byte[inputStream.available()];
inputStream.read(bytes2);
inputStream.close();
price.setPhoto(bytes);
price.setPhoto2(bytes2);

在显示的函数中做如下处理:(从数据库中取得二进制数据,转换为输出流)

byte [] buf=null;
if(pro.equals("1")){
buf=list.get(0).getPhoto();
}else{
buf=list.get(0).getPhoto2();
}
response.setContentType("image/jpg");
OutputStream outputStream=response.getOutputStream();
outputStream.write(buf);
outputStream.flush();

在显示的前台页面作如下处理:

<tr><td>图片1:</td><td><img src="<%=basePath %>getImageStudent.action?no=<s:property value="student.no"/>&&kind=1"/></td></tr> ?<tr><td>图片2:</td><td><img src="<%=basePath %>getImageStudent.action?no=<s:property value="student.no"/>&&kind=2"/></td></tr>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读