一。jsp页面
二。后台
1。.得到数据库连接。
def dbDriver = "oracle.jdbc.driver.OracleDriver";
def url = "jdbc:oracle:thinxx
def username = "foi";
def password = "foi";
Connection conn = null;
Class.forName(dbDriver);
DriverManager.setLoginTimeout(30);
conn = DriverManager.getConnection(url, username, password);
2 。写sql语句
def query ="""select photo from photo_list where id = 1"""
3 。预编译
byte[] description = "";
def pstmt = conn.prepareStatement(query);
ResultSet result = pstmt.executeQuery();
StringBuffer myStringBuffer = new StringBuffer();
if (result.next()) {
java.sql.Blob blob = result.getBlob("photo");
InputStream inStream = blob.getBinaryStream();
long nLen = blob.length();
int nSize = (int) nLen;
description = new byte[nSize];
inStream.read(description);
inStream.close();
description = ChangeImgSize(description, 200, 200);
if(description!=null){
OutputStream op = response.getOutputStream();
op.write(description, 0, description.length);
op.close();
op = null;
}
response.flushBuffer();
}
result.close();
pstmt.close();
conn.close();
}
}
private byte[] ChangeImgSize(byte[] data, int nw, int nh){
byte[] newdata = null;
try{
BufferedImage bis = ImageIO.read(new ByteArrayInputStream(data));
if(bis!=null){
int w = bis.getWidth();
int h = bis.getHeight();
double sx = (double) nw / w;
double sy = (double) nh / h;
AffineTransform transform = new AffineTransform();
transform.setToScale(sx, sy);
//AffineTransformOp ato = new AffineTransformOp(transform, null);
//原始颜色
//BufferedImage bid = new BufferedImage(nw, nh, BufferedImage.TYPE_3BYTE_BGR);
//ato.filter(bis, bid);
//转换成byte字节
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(bis, "jpeg", baos);
newdata = baos.toByteArray();
}
}catch(IOException e){
e.printStackTrace();
}
return newdata;
}