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

Visning af billeder fra MySQL-database på en enkelt kolonne af JTable

Siden du brugte preparedstatement.setBlob(1, InputStream); for at gemme billedet, må jeg antage, at du har gemt den fysiske billedfil/format og ikke kun pixeldataene.

Du skal læse dette billedformat tilbage og konvertere til et understøttet billedformat til Swing/Java.

Start med at få en Blob reference til databasefeltet...

Blob blob = rs.getBlob(1);

Når du har en Blob , kan du bruge dets binære InputStream og læs dataene...

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

Nu kan du gøre det til et ImageIcon ved hjælp af new ImageIcon(image) og sæt dette i din bordmodel...




  1. FEJL 1064 (42000):Du har en fejl i din SQL-syntaks; tjek den manual, der svarer til din MySQL-serverversion, for at se den rigtige syntaks at bruge

  2. Udviklerværktøjer til direkte adgang til databaser

  3. #1273 - Ukendt sortering:'utf8mb4_unicode_ci' cPanel

  4. PHP - Gør min forespørgsels arrays nøgle til ID