使用ssh向sqlserver2005数据库中保存image类型的二进制图片
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>
使用ssh向sqlserver2005数据库中保存image类型的二进制图片的更多相关文章
- 【Android Developers Training】 26. 在SQL数据库中保存数据
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- SQL查询数据库中所有指定类型的字段名称和所在的表名
--查询数据库中所有指定类型的字段名称和所在的表名 --eg: 下面查的是当前数据库中 所有字段类型为 nvarchar(max) 的字段名和表名 SELECT cols.object_id , co ...
- SQL server数据库中的DateTime类型出现的问题
我们知道这个SQL server数据库中的DateTime类型是数据库应用开发中经经常使用到的一种数据类型.而C#语言中也有DateTime类型,尽管二者都是用来描写叙述时间的,可是它们的默认值是不同 ...
- 【基础知识】C#数据库中主键类型的选择
主键在数据库中占有很大的地位,对于表的关联性,和数据的唯一识别性有重要的作用: 1,在C#开发中,Int自增字段和Guid(数据库中是uniqueidentifier类型)可设置为主键: 1>G ...
- 时间、金钱在java、数据库中的变量类型之总结
在编写程序时,总是有些变量的类型搞不很明白,现将目前涉及到的变量总结一下: 1.“时间”类型 (1).在数据库中的变量类型是:DateTime 比如: operateTime DATETIME,//数 ...
- [delphi]向ImageList中加入png类型的资源图片
向ImageList中动态加入Png图片有些失真,经过多方查询,发现需要将Bitmap的AlphaFormat指定一下. //向ImageList中加入png类型的资源图片 procedure Add ...
- Android - 数据存储 -在SQL数据库中保存数据
对于重复的或结构化的数据,保存到数据库中是很好的选择,比如联系人信息.这里假设你对SQL数据库大体上了解然后帮助你学习Android上的SQLite数据库.在Android数据库上需要用到的API可以 ...
- [原创]Java调用PageOffice在线打开数据库中保存的Word文件
PageOffice产品和数据库是两个独立的概念,严格来说两者之间没有任何本质关系.PageOffice不依赖数据库而存在,但是数据库和PageOffice可以结合使用来完成某些复杂的业务逻辑.例如: ...
- 向comboboxEdit中动态添加数据库中保存的用户自定义单位制的名称
if (radioGroup1.SelectedIndex == 2) { bool _Flag = true; sm.SetLciVisible(lciDelete, _Flag); sm.SetL ...
随机推荐
- persistencejs:异步javascript数据库映射库
persistence.js 是一个异步的 JavaScript 对象数据库映射(ORM)框架.拥有数据库无关的独立抽象层,可轻松支持新的数据库.该软件最开始是为浏览器设计的,利用 HTML5 的 W ...
- 在Docker中自定义Jenkins镜像
一. 构建Jenkins slave. 1. 构建镜像需要三个步骤: (1) 创建Dockerfile (2) 构建镜像 (3)在master上改变agent的配置 2. 以下是创建一个服务Pytho ...
- 扩展swap分区
swap分区在系统的物理内存不够用时,把硬盘的一部分空间释放出来,以供当前运行的程序使用.(临时使用,如果swap分区都不够了还是直接加内存吧) (1).步骤 mkswap /devices(可以是分 ...
- 【LeetCode】32. Longest Valid Parentheses
Given a string containing just the characters '(' and ')', find the length of the longest valid (wel ...
- 选择器(UIPickerView)
Apple提供了两种形式的选择器:日期选择器(UIDatePicker)与自定义选择器(UIPickerView). 当用户使用日期选择器选定一个时间后,调用datePickerID.date可以直接 ...
- bzoj 1009 DP 矩阵优化
原来的DP: dp[i][j]表示长度为i的合法串,并且它的长度为j的后缀是给定串的长度为j的前缀. 转移: i==0 dp[0][0] = 1 dp[0][1~m-1] = 0 i>=1 dp ...
- 思科DCHP解决方案
DHCP功能平时用的不算少,而且本人的几乎所有的DHCP功能都是在交换机上实现的,虽然也可以通过PC实现,而且PC的DHCP Server功能还更完善,比如可以不受DHCP作用域的限制.IP分配情况直 ...
- <摘录>linux signal 列表
Linux 信号表 Linux支持POSIX标准信号和实时信号.下面给出Linux Signal的简表,详细细节可以查看man 7 signal. 默认动作的含义如下: 中止进程(Term) 忽略 ...
- php图片上传检测是否为真实图片格式
PHP 图片上传,如果不做任何判断的话,随便一个文件如 rar,zip,php,java等文件改个文件名,改个后缀就能以图片形式上传的服务器,往往会造成极大的危害! 工具/原料 PHP apach ...
- Circuit translates I2C voltages
This Design Idea explores level-shifting an I2C bus from 5V/ground (positive domain) to ground/–5V ( ...