Грааль: написать BufferedImage в ответ
-
19-09-2019 - |
Вопрос
У меня есть ImageController с методом изменения размера:
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"
}
}
Как вы можете видеть - он пишет экземпляр BufferedImage (измененное изображение) на диске. Но я хочу вернуть изображение в ответе, поэтому измененное изображение будет отображаться в браузере, когда пользовательские запросы изменения размера (или он сможет его загрузить). Это как проблема с подачей на подачу файла ...
Правильно ли использовать:
ImageIO.write(result, "png", response.getOutputStream())
Решение
Не связан с StackOverflow