Posted by:wgz_jz
Posted on:2004-10-02 00:24
先对楼上的两位表示感谢。
我已查过 set/getBinaryStream 的资料。但现在的问题是Image字段内容已读到了
BufferedInputStream中,但是 jLabel1.SetIcon(...)就是显示不出来,而加载一张图片文件就可以显示出来,请问这个问题该如何解决?(IDE 是 JBuilderX)
部分程序代码如下:
int MAX_IMAGE_SIZE = 50000000;//50MB
byte Imgbuf[] = new byte[MAX_IMAGE_SIZE];
int count = 0;
BufferedInputStream imgStream = new BufferedInputStream(queryDataSet1.getBinaryStream("图"));
if (imgStream != null) {
try {
count = imgStream.read(Imgbuf);
} catch (IOException ieo) {
System.err.println("Couldn't read stream from database");
}
try {
imgStream.close();
} catch (IOException ieo) {
System.err.println("Can't close stream");
}
if (count <= 0) {
System.err.println("No pictures in database");
} else {
// jLabel1.setIcon(new ImageIcon(getClass().getResource("a7-11.jpg")));
//加载图片文件就可以显示
jLabel1.setIcon(new ImageIcon(Toolkit.getDefaultToolkit().createImage(Imgbuf)));
//从库中Image字段读取的图片大小等信息都对,可就是显示不出来。
}