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

Utilizzo di Wicket per visualizzare un'immagine archiviata come BLOB in MYSQL db

private byte[] blob = some data...;

per verificare che il blob sia un'immagine:

Boolean isImage = ImageIO.read(new ByteArrayInputStream(blob)) != null;
if( isImage ){
    // blob is an image...
}

crea un oggetto IResource e mostralo in html:

IResource imageResource = new DynamicImageResource() {
                @Override
                protected byte[] getImageData(IResource.Attributes attributes) {
                    return blob;
                }
            };
Image image = new Image("wicketId", imageResource);
this.add(image);

nel file html usa:

<wicket:panel>
    <img wicket:id="wicketId"/>
</wicket:panel>