Я пытаюсь загрузить изображение, которое находится в базе данных MySQL, как формат данных blob ([[email protected]
), но я не могу загрузить его в JLabel, как показано ниже. Он показывает, что ByteArrayInputStream
пуст.ByteArrayInputStream() показывает null
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 (утверждение if приходит на ум как лучшее идея). – Dukeling
Вы подтвердили, что в столбце и строке есть данные? – MadConan
вы, я проверил с sout ... [B @ e96bf это wht я получил для байтов, я должен его декодировать? –