我想加載一個在MySQL數據庫中的圖像作爲blob數據格式([[email protected]
),但我無法將其加載到JLabel中,如下所示。它顯示ByteArrayInputStream
是空的。ByteArrayInputStream()顯示爲空
byte[] bytesl = null;
ResultSet rs = DB.DB.search("select image from imageio where id = '2'");
while (rs.next()) {
bytesl = rs.getBytes(1);
}
BufferedImage imag = ImageIO.read(new ByteArrayInputStream(bytesl));
Image img = imag;
img = img.getScaledInstance(jLabel1.getWidth(), jLabel1.getHeight(),
Image.SCALE_SMOOTH);
jLabel2.setIcon(new ImageIcon(img));
DB是什麼類型?一個好的開始是將一個打印語句放在while循環中(或者調試你的代碼),看看它是否在那裏。不應該影響你的結果,但是如果while循環最多隻能執行一次(我假設...),你可能不應該使用while循環(if語句會讓人想起更好理念)。 – Dukeling
您是否驗證了列和行有數據? – MadConan
你我用一個sout驗證過... [B @ e96bf這是我得到的bytesl我必須解碼它嗎? –