質問

サイズ変更メソッドを備えた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インスタンス(サイズ変更画像)を書き込みます。ただし、ユーザーがサイズ変更メソッドを要求すると、サイズ変更された画像がブラウザに表示されるため(またはダウンロードできます)。それはファイルのサービングの問題のようなSMTHです...

使用するのは正しい方法ですか:

ImageIO.write(result, "png", response.getOutputStream())
役に立ちましたか?

解決

ええ、Imageioは行く方法です

見る

画像は聖杯でサイズを変更します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top