java数据库blob字段的下载(读取)

java数据库blob字段的下载(读取),第1张

这是我以前写的代码,放在action里。在pojo类中对应为byte[]类型,clxxb是一个pojo类,clxxbgetClpic()得到对应的字节数组byte[]。其实输出文件就是输出一个字节流。希望对你有帮助。

InputStream input=clxxbgetClpic()getBinaryStream();

byte[] buffer=new byte[inputavailable()];

ServletOutputStream out=responsegetOutputStream();

int length=0;

while((length=inputread(buffer))!=-1){

outwrite(buffer,0,length);

}

outflush();

outclose();

在OracleQueryBean类中增加一个函数,来进行读取,具体代码如下:

/

根据在数据库中的ID进行读取

@param strID 字段ID

@param w 需要缩到的宽度

@param h 需要缩到高度

@return

/

public byte[] GetImgByteById(String strID, int w, int h){

//Systemoutprintln("Get img data which id is " + nID);

if(myConnection == null)

thisgetConnection();

byte[] data = null;

try {

Statement stmt = myConnectioncreateStatement();

ResultSet myResultSet = stmtexecuteQuery("select " + thisstrIDName + " from " + thisstrTabName + " where " + thisstrIDName + "=" + strID);

StringBuffer myStringBuffer = new StringBuffer();

if (myResultSetnext()) {

javasqlBlob blob = myResultSetgetBlob(thisstrImgName);

InputStream inStream = blobgetBinaryStream();

try {

long nLen = bloblength();

int nSize = (int) nLen;

//Systemoutprintln("img data size is :" + nSize);

data = new byte[nSize];

inStreamread(data);

inStreamclose();

} catch (IOException e) {

Systemoutprintln("获取数据失败,原因:" + egetMessage());

}

data = ChangeImgSize(data, w, h);

}

Systemoutprintln(myStringBuffertoString());

myConnectioncommit();

myConnectionclose();

} catch (SQLException ex) {

Systemoutprintln(exgetMessage());

}

return data;

}

你好:

BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器。

在计算机中,BLOB常常是数据库中用来存储二进制文件的字段类型。

BLOB是一个大文件,典型的BLOB是一张或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一个数据库)。

根据Eric Raymond的说法,处理BLOB的主要思想就是让文件处理器(如数据库管理器)不去理会文件是什么,而是关心如何去处理它。

但也有专家强调,这种处理大数据对象的方法是把双刃剑,它有可能引发一些问题,如存储的二进制文件过大,会使数据库的性能下降。在数据库中存放体积较大的多媒体对象就是应用程序处理BLOB的典型例子。

以上就是关于java数据库blob字段的下载(读取)全部的内容,包括:java数据库blob字段的下载(读取)、怎样从数据库中调用blob图片 并把它显示在网页上、数据库中blob类型指什么类型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9466647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存