Mysql
 sql >> Base de données >  >> RDS >> Mysql

Affichage des images de la base de données MySQL sur une seule colonne de JTable

Depuis que vous avez utilisé preparedstatement.setBlob(1, InputStream); pour stocker l'image, je dois supposer que vous avez stocké le fichier/format d'image physique et pas seulement les données de pixel.

Vous devez relire ce format d'image et le convertir dans un format d'image pris en charge pour Swing/Java.

Commencez par obtenir un Blob référence au champ de la base de données...

Blob blob = rs.getBlob(1);

Une fois que vous avez un Blob , vous pouvez utiliser son binaire InputStream et lire les données...

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

Maintenant, vous pouvez en faire une ImageIcon en utilisant new ImageIcon(image) et mettez ceci dans votre modèle de table...