我有ImageController和resize方法:
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())