Mysql
 sql >> Database >  >> RDS >> Mysql

Visualizzazione di immagini dal database MySQL su una singola colonna di JTable

Dato che hai usato preparedstatement.setBlob(1, InputStream); per memorizzare l'immagine, devo presumere che tu abbia memorizzato il file/il formato dell'immagine fisica e non solo i dati dei pixel.

Devi rileggere questo formato immagine e convertirlo in un formato immagine supportato per Swing/Java.

Inizia ottenendo un Blob riferimento al campo database...

Blob blob = rs.getBlob(1);

Una volta ottenuto un Blob , puoi usare il suo binario InputStream e leggi i dati...

BufferedImage image = null;
try (InputStream is = blob.getBinaryStream()) {
    image = ImageIO.read(is);
} catch (IOException exp) {
    exp.printStackTrace();
}

Ora puoi renderlo un ImageIcon utilizzando new ImageIcon(image) e inseriscilo nel tuo modello da tavolo...