Java查看MYSQL的图像路径并在Java技巧中显示该图像
我可以将使用JFileChooser选择的图像保存到phpMyAdmin中的MySQL中的BLOB列,但是如何查看该BLOB并将其加载到JFrame中从Java内部显示?任何代码都会有帮助。Java查看MYSQL的图像路径并在Java技巧中显示该图像
这是一个代码段,它显示了以blob格式存储在数据库中的JLabel对象中的图片。
Blob sqlphoto = (Blob) rs.getBlob("photo");
if (sqlphoto != null) {
InputStream photo = sqlphoto.getBinaryStream();
Image image = null;
try {
image = ImageIO.read(photo);
jLabel31.setIcon(new ImageIcon(image));
}
catch (IOException ex) {
Logger.getLogger(ModifyClerk.class.getName()).log(Level.SEVERE, null, ex);
}
}
如果出现IOException,ImageIcon会是什么?最后一行在try块内。 – 2012-02-20 11:46:37
它应该在if块中。我编辑了我的答案:) – zari 2012-02-20 11:51:52
不,它应该在try块中。否则,您将构造带有空映像的ImageIcon,并且会导致NullPointerException。 – 2012-02-20 12:02:13
通过德米特里上面列出将解决你的问题的解决方案,这是肯定的。当我是新手程序员时,我习惯于这样做,但将性能问题存储在数据库中并不是一个好主意。最好将图像文件位置路径存储到数据库中,并将图像存储在文件系统中。这将节省您的大量处理并提高您的性能。为了更好的理解,请阅读这个精彩的讨论
取决于你的应用程序(就像其他的一切)。根据图像的数量和大小以及它们的使用方式,文件系统或数据库方式可能会更好地提高性能。通常情况下,性能差异可以忽略不计,而且管理数据更方便。这又取决于你的具体应用。 – Dmitri 2012-03-08 01:00:35
你有什么试过?你怎么能写一个blob,但不读一个? – 2012-02-20 11:33:50
你目前使用哪些代码? – 2012-02-20 11:36:03