上传文件到MySQL数据库Blob字段 内容多了两个字节
struts2+spring+hibernate+tomcat+mysql
将上传文件的内容保存到mysql数据库的blob字段中时会多出两个字节,请大家帮我分析一下原因
Action中代码:
InputStream inputStream=new FileInputStream(upload); //以字节方式读入数据
byte[] b = new byte[inputStream.available()];
System.out.println(inputStream.available());
inputStream.read(b); //读入了64个字节
inputStream.close();
java.sql.Blob keyBlob=Hibernate.createBlob(b); //读入了64个字节
tempUdisk.setuKey(keyBlob); //将字节数组转换为Blob类型
userService.saveUDiskKey(tempUdisk);
hibernate数据库的设计:
private java.sql.Blob uKey;
public void setuKey(java.sql.Blob blob) {
this.uKey = blob;
}
public java.sql.Blob getuKey() {
return uKey;
}
映射文件的设置:
<property name="uKey" type="java.sql.Blob" length="100" not-null="true" />
Spring 数据库连接的设置:
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/WebApplication?useUnicode=true&characterEncoding=gbk"/>
mysql数据库是gbk编码方式
上传文件的内容(UltraEdit查看): 64个字节
DC 12 4F E8 16 9C 71 B3 DA AC 16 F8 22 CB E5 FA ; ?O?渜弛??隋?
BC DB 57 76 EB E5 86 DC E3 B6 9C E1 8B 48 A2 40 ; 价Wv脲嗆愣溼婬
DD 94 DE 2B 39 02 78 A1 78 CC 82 AA EA 3D 4D DA ; 輸?9.x虃=M?
F4 E0 B4 E4 EB FD 04 63 4B 00 88 BC 2C 5D 19 E1 ; 羿翠臊.cK.埣,].
数据库中的内容: 66个字节
DC 12 4F E8 16 9C 71 B3 DA AC 16 F8 5C 5C 22 CB E5 FA
BC DB 57 76 EB E5 86 DC E3 B6 9C E1 8B 48 A2 40
DD 94 DE 2B 39 02 78 A1 78 CC 82 AA EA 3D 4D DA
F4 E0 B4 E4 EB FD 04 63 4B 00 88 BC 2C 5D 19 E1
相对于原始的文件内容多了5c 5c两个字节
困扰我几天了,请大家帮忙看看,到底是什么回事?
将上传文件的内容保存到mysql数据库的blob字段中时会多出两个字节,请大家帮我分析一下原因
Action中代码:
InputStream inputStream=new FileInputStream(upload); //以字节方式读入数据
byte[] b = new byte[inputStream.available()];
System.out.println(inputStream.available());
inputStream.read(b); //读入了64个字节
inputStream.close();
java.sql.Blob keyBlob=Hibernate.createBlob(b); //读入了64个字节
tempUdisk.setuKey(keyBlob); //将字节数组转换为Blob类型
userService.saveUDiskKey(tempUdisk);
hibernate数据库的设计:
private java.sql.Blob uKey;
public void setuKey(java.sql.Blob blob) {
this.uKey = blob;
}
public java.sql.Blob getuKey() {
return uKey;
}
映射文件的设置:
<property name="uKey" type="java.sql.Blob" length="100" not-null="true" />
Spring 数据库连接的设置:
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/WebApplication?useUnicode=true&characterEncoding=gbk"/>
mysql数据库是gbk编码方式
上传文件的内容(UltraEdit查看): 64个字节
DC 12 4F E8 16 9C 71 B3 DA AC 16 F8 22 CB E5 FA ; ?O?渜弛??隋?
BC DB 57 76 EB E5 86 DC E3 B6 9C E1 8B 48 A2 40 ; 价Wv脲嗆愣溼婬
DD 94 DE 2B 39 02 78 A1 78 CC 82 AA EA 3D 4D DA ; 輸?9.x虃=M?
F4 E0 B4 E4 EB FD 04 63 4B 00 88 BC 2C 5D 19 E1 ; 羿翠臊.cK.埣,].
数据库中的内容: 66个字节
DC 12 4F E8 16 9C 71 B3 DA AC 16 F8 5C 5C 22 CB E5 FA
BC DB 57 76 EB E5 86 DC E3 B6 9C E1 8B 48 A2 40
DD 94 DE 2B 39 02 78 A1 78 CC 82 AA EA 3D 4D DA
F4 E0 B4 E4 EB FD 04 63 4B 00 88 BC 2C 5D 19 E1
相对于原始的文件内容多了5c 5c两个字节
困扰我几天了,请大家帮忙看看,到底是什么回事?
...全文
相关推荐
C#源码数据库操作二进制存取图片
C#源码数据库操作二进制存取图片
oracle+hibernate 处理blob +uploadify实例
oracle+hibernate 处理blob +uploadify实例 结合了 uploadify 上传给件实例 如有需要的可以下载 文件上传组件 Uploadify-3.1-Demo实例详解 文档查看 都是免费的
MySQL中TEXT与BLOB字段类型的区别
主要介绍了MySQL中TEXT与BLOB字段类型的区别,本文总结了6大区别,需要的朋友可以参考下
从mysql数据库中批量下载Blob图片到本地
语言Java,数据库mysql 批量获取Blob图片下载到本地,同时设置本地保存位置
jsp操作mysql数据库的blob字段
jsp操作mysql数据库的blob字段,实现: 1、将磁盘文件存入mysql数据库; 2、将mysql数据库中存入的文件,读出来,输出给浏览器。


