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