javablob下载的简单介绍

博主:adminadmin 2022-11-28 06:51:08 48

本篇文章给大家谈谈javablob下载,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java提取数据库中blob类型的图片,如何全部显示在jsp页面?

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

/**

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

* @param strID 图片字段ID

* @param w 需要缩到的宽度

* @param h 需要缩到高度

* @return

*/

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

//System.out.println("Get img data which id is " + nID);

if(myConnection == null)

this.getConnection();

byte[] data = null;

try {

Statement stmt = myConnection.createStatement();

ResultSet myResultSet = stmt.executeQuery("select " + this.strIDName + " from " + this.strTabName + " where " + this.strIDName + "=" + strID);

StringBuffer myStringBuffer = new StringBuffer();

if (myResultSet.next()) {

java.sql.Blob blob = myResultSet.getBlob(this.strImgName);

InputStream inStream = blob.getBinaryStream();

try {

long nLen = blob.length();

int nSize = (int) nLen;

//System.out.println("img data size is :" + nSize);

data = new byte[nSize];

inStream.read(data);

inStream.close();

} catch (IOException e) {

System.out.println("获取图片数据失败,原因:" + e.getMessage());

}

data = ChangeImgSize(data, w, h);

}

System.out.println(myStringBuffer.toString());

myConnection.commit();

myConnection.close();

} catch (SQLException ex) {

System.out.println(ex.getMessage());

}

return data;

}

页面使用OracleQueryBean来根据用户提供的图片id进行查询,在读取并进行缩放后,通过jsp页面进行展示,具体代码如下:

%@ page language="java" contentType="text/html;;charset=gbk" %

jsp:useBean id="OrcleQuery" scope="page" class="HLFtiDemo.OracleQueryBean" /

%

response.setContentType("image/jpeg");

//图片在数据库中的 ID

String strID = request.getParameter("id");

//要缩略或放大图片的宽度

String strWidth = request.getParameter("w");

//要缩略或放大图片的高度

String strHeight = request.getParameter("h");

byte[] data = null;

if(strID != null){

int nWith = Integer.parseInt(strWidth);

int nHeight = Integer.parseInt(strHeight);

//获取图片的byte数据

data = OrcleQuery.GetImgByteById(strID, nWith, nHeight);

ServletOutputStream op = response.getOutputStream();

op.write(data, 0, data.length);

op.close();

op = null;

response.flushBuffer();

//清除输出流,防止释放时被捕获异常

out.clear();

out = pageContext.pushBody();

}

%

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

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

InputStream input=clxxb.getClpic().getBinaryStream();

byte[] buffer=new byte[input.available()];

ServletOutputStream out=response.getOutputStream();

int length=0;

while((length=input.read(buffer))!=-1){

out.write(buffer,0,length);

}

out.flush();

out.close();

用JAVA怎样将保存在数据库BLOB类型的图片取出来转换为图片然后在页面展示啊

呵呵,这个是没有办法接受哦。

request.setCharacterEncoding("UTF-8");

response.setContentType("image/jpeg");

response.getOutputStream().write(bytes);

这几个参数是把这个图片直接发给浏览器,说白了就直接把图片当成文件让浏览器下载。

解决办法:

img border=0 src="localhost:8080/Pic" /

localhost:8080是你配置WEB.XML

Pic是你的Servlet类名。

关于javablob下载和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-28,除非注明,否则均为首码项目网原创文章,转载请注明出处。