2010-03-10 3 views
0

У меня есть ImageController с помощью метода изменения размера:Grails: написать BufferedImage в ответ

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()) 

ответ

Смежные вопросы