BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的容器。BLOB常常是数据库中用来存储二进制文件的字段类型。
BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。
处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。
这种处理大数据对象的方法是把双刃剑,它有可能引发一些问题,如存储的二进制文件过大,会使数据库的性能下降。
Java处理:
1、实体处理:
@Column(name = "te1", columnDefinition = "BLOB",nullable=true)
@Type(type="org.springframework.orm.hibernate3.support.BlobByteArrayType")
public byte[] getTe1() {
return te1;
}
2、action处理:
File file_image = new File("c:\\1.jpg");
byte[] photo=new byte[102400];
BufferedInputStream br = new BufferedInputStream(new FileInputStream(file_image));
br.read(photo);
return photo;