Вопрос

У меня есть 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())
Это было полезно?

Решение

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top