
你试试我这段代码,缩放的
/
缩小或者放大
@param data 的byte数据
@param nWidth 要放大缩小的宽度
@param nHeight 要放大或缩小的高度
@return 返回放大或缩小后的的byte数据
/
public static byte[] ChangeImgSize(byte[] data,int nWidth,int nHeight) {
byte[] newdata=null;
try {
BufferedImage bImage=ImageIOread(new ByteArrayInputStream(data));
int w=bImagegetWidth();
int h=bImagegetHeight();
double sx=(double)nWidth/w;
double sy=(double)nHeight/h;
AffineTransform transform=new AffineTransform();
transformsetToScale(sx, sy);
AffineTransformOp ato=new AffineTransformOp(transform, null);
//原始颜色
BufferedImage bImage2=new BufferedImage(nWidth, nHeight, BufferedImageTYPE_3BYTE_BGR);
atofilter(bImage, bImage2);
//转换成byte
ByteArrayOutputStream baos=new ByteArrayOutputStream();
ImageIOwrite(bImage2, "jpeg", baos);
newdata=baostoByteArray();
} catch (IOException e) {
// TODO Auto-generated catch block
Systemoutprintln("ChangeImgSize失败:"+etoString());
}
return newdata;
}
我以前写程序发现:
oracle的数据库BLOB不能用来存储字符,改用NCLOB就OK了。
BLOB:用来存储无结构的二进制数据
CLOB:存储单字节字符数据。(别用来存中文喔。。。)
NCLOB:用来存储定宽多字节字符数据。
在oracle中存储大量的文字应该是用CLOB字段来存储。这种类型在用java将数据存进数据库中时比较简单,直接将String类型的文本写入就可以了。但是在从数据库中读取CLOB类型的数据到java中时比较麻烦,因为你是拿不到数据的,只能拿到这个字段的一个隐式指针,然后还要通过输入流来拿到。
看clob的实现类SerialClob得构造你就明白了。
CLOB是存放在一个大数组里面的
public SerialClob(char ch[]) throws SerialException, SQLException {
// %%% JMB Agreed Add code here to throw a SQLException if no
// support is available for locatorsUpdateCopy=false
// Serializing locators is not supported
len = chlength;
buf = new char[(int)len];
for (int i = 0; i < len ; i++){
buf[i] = ch[i];
}
origLen = len;
}
其实你不用使用clob类型 直接将映射的实体bean clob字段类型修改为String类型,同时也要将对应的映射的xml对应修改 不用设置长度 使用的时候完全可以按照字符串进行处理就可以
以上就是关于clob字段中含有图片,如何单独拿出来,再控制大小,JAVA中全部的内容,包括:clob字段中含有图片,如何单独拿出来,再控制大小,JAVA中、java 大字符串转为二进制流存入CLOB字段 JDBC方法、oracle 中存储大量文字信息用什么字段,java后台怎么实现,请举例。谢谢。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)