Je ImageController avec la méthode de modification de taille:Grails: écrire BufferedImage en réponse
def resize = {
def pht = Photos.findByTypeAndPhotourl(params.type, params.photourl)
if (pht != null) {
BufferedImage source = ImageIO.read(new File(pht.photo))
ImageResizer imageResizer = new ImageResizer()
BufferedImage result = imageResizer.resize(source, Integer.parseInt(params.width), Integer.parseInt(params.height))
imageResizer.writePNG(result, params.name)
render "OK"
} else {
render "Error"
}
}
Comme vous pouvez le voir - il écrit par exemple BufferedImage (image redimensionnée) sur le disque. Mais je veux renvoyer l'image en réponse ainsi l'image redimensionnée sera montrée dans le navigateur quand l'utilisateur demande la méthode de redimensionnement (ou il pourra la télécharger). Il est lissée comme problème au service de fichiers ...
-t-il bonne façon d'utiliser:
ImageIO.write(result, "png", response.getOutputStream())