sql >> Databasteknik >  >> RDS >> Mysql

Visar bilder från MySQL-databasen i en enda kolumn i JTable

Eftersom du använde preparedstatement.setBlob(1, InputStream); för att lagra bilden måste jag anta att du har lagrat den fysiska bildfilen/formatet och inte bara pixeldata.

Du måste läsa tillbaka detta bildformat och konvertera till ett bildformat som stöds för Swing/Java.

Börja med att få en Blob referens till databasfältet...

Blob blob = rs.getBlob(1);

När du har en Blob , kan du använda dess binära InputStream och läs data...

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

Nu kan du göra det till en ImageIcon med new ImageIcon(image) och placera detta i din bordsmodell...




  1. Hur man hämtar uppladdade filer med php

  2. Oracle UTL_SMTP:Skicka e-post med bilaga Exempel med Oracle Wallet-autentisering

  3. '0000-00-00 00:00:00' kan inte representeras som java.sql.Timestamp error

  4. DATETIMEOFFSETFROMPARTS() Exempel i SQL Server (T-SQL)