用java语言我怎么把图片存放到数据库然后在取出来啊

如题所述

如果要存数据库的话,数据库存图片字段用blob形式的(照片:zp为例)。
而且不能直接存,在存之前zp字段先插入一个empty.BLOB(),
然后select ZP from 表 for update。再用输入流的形式写进去。
// 先检索出来字段,必须使用oracle的类:oracle.sql.BLOB
oracle.sql.BLOB blob = null;
if (rs.next())
{
blob = (oracle.sql.BLOB) rs.getBlob("ZP");
// 到数据库的输出流
OutputStream outStream = blob.getBinaryOutputStream();
// 将输入流写到输出流
byte[] b = new byte[blob.getBufferSize()];
int len = 0;
while ((len = is.read(b)) != -1)
{
outStream.write(b, 0, len);
// blob.putBytes(1,b);
}
is.close();
outStream.flush();
outStream.close();
}
取照片的话,取出来转化成流的形式直接创建jpg文件就行了。
Blob b = rs.getBlob("ZP");
File f = null;
if (b != null) {
is = b.getBinaryStream();
f = new File( "c:\\zp.jpg");
if (!f.exists()) {
f.createNewFile();
}
os = new FileOutputStream(f);
int len;
byte buf[] = new byte[2048];
while ((len = is.read(buf)) != -1) {
os.write(buf, 0, len);
}
is.close();
os.flush();
os.close();
}
强烈建议只存取照片路径,这样方便。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-09
图片存到数据库里有2种方式,一个是存路径,还有一个就是在数据库里字段的类型设置成大数据类型——blob型。建议楼主采用存路径吧。
第2个回答  2010-06-09
你先把自己的图片上传到你的项目文件夹里面去,同时把这个图片路径存到数据库中,

取出图片就用那个路径就可以了
第3个回答  2010-06-09
存入数据库的图片名就行啊
用的时候拿出名字就可以了
相似回答