博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用ssh向sqlserver2005数据库中保存image类型的二进制图片
阅读量:5828 次
发布时间:2019-06-18

本文共 1697 字,大约阅读时间需要 5 分钟。

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>

 

转载地址:http://zjodx.baihongyu.com/

你可能感兴趣的文章
$\frac{dy}{dx}$ 是什么意思?
查看>>
Go开发之路(目录)
查看>>
RHEL6.5安装成功ORACLE11GR2之后,编写PROC程序出错解决方法
查看>>
(50)与magento集成
查看>>
Ubuntu设置python3为默认版本
查看>>
JsonCpp 的使用
查看>>
问题账户需求分析
查看>>
JavaSE-代码块
查看>>
爬取所有校园新闻
查看>>
32、SpringBoot-整合Dubbo
查看>>
python面向对象基础
查看>>
HDU 2044 一只小蜜蜂(递归)
查看>>
docker 下 安装rancher 笔记
查看>>
spring两大核心对象IOC和AOP(新手理解)
查看>>
数据分析相关
查看>>
Python LDAP中的时间戳转换为Linux下时间
查看>>
微信小程序蓝牙连接小票打印机
查看>>
环境错误2
查看>>
C++_了解虚函数的概念
查看>>
全新jmeter视频已经上架
查看>>