Я пытаюсь извлечь тип данных blob из таблицы базы данных и отобразить изображение в изображенииView. Вот мой запрос SQL:Convert BufferedImage to Image data type
public boolean retrieve(){
boolean success = false;
ResultSet rs = null;
DBController db = new DBController();
db.getConnection();
String dbQuery = "SELECT * FROM sm_product WHERE productName ='" + name +"'";
rs = db.readRequest(dbQuery);
try {
if(rs.next()){
desc = rs.getString("productDescription");
price = rs.getInt("productPrice");
quantity = rs.getInt("productQuantity");
dateStr = rs.getString("dateOfCreation");
category = rs.getString("productCategory");
Blob blob = rs.getBlob("productImage");
byte[] data = blob.getBytes(0, (int) blob.length());
image = ImageIO.read(new ByteArrayInputStream(data)); //Error here
success = true;
}
}
catch(Exception e){
e.printStackTrace();
}
db.terminate();
return success;
}
После того, как я получил его, я хочу отобразить его в изображении. Вот код:
panel.getMyImageView().setImage(product.getImage());
Однако у меня возникло сообщение об ошибке несовместимого типа. Я знаю image = ImageIO.read (новый ByteArrayInputStream (данные)); эта строка должна храниться как BufferedImage, а затем оттуда я медленно конвертирую в тип данных изображения и отображаю его в виде изображения. Но после 2 часов исследований мне не повезло. Может кто-нибудь, пожалуйста, помогите мне с этим?
Заранее спасибо.
Спасибо. Я решил это с другим решением –