javablob下载的简单介绍
本篇文章给大家谈谈javablob下载,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java提取数据库中blob类型的图片,如何全部显示在jsp页面?
- 2、java数据库blob字段的下载(读取)
- 3、用JAVA怎样将保存在数据库BLOB类型的图片取出来转换为图片然后在页面展示啊
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下载和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。