0

私はこの種のことにまったく慣れていません。クライアントから送信された画像の読み取りは「application/x-www-form-urlencoded」です。これは、iPadアプリケーションであるそのクライアントから受信した画像です。画像を http 本文に添付し、 ?id=10 などを使用して他のパラメータとともにサーバーに送信します。質問は....本体からその画像を取得してファイルシステムに書き込む方法は?

今のところ、この画像を読み取り(request.getInputStream()を使用)、そのバイトを読み取ってからファイルシステムに書き込むための別のサーブレットを作成しましたが、これは良くありません(コンテキストが異なります)。

画像を簡単に読み取れるように、grailsコントローラーで何をすべきか。私を助けてください。私にとっては優先度が高いです。ありがとう

4

1 に答える 1

0

Grailsはファイルアップロードをサポートしています。物事を単純化するための例を挙げましょう。

あなたの見解では、次のような形式になります。

<g:form action="save" method="post" enctype="multipart/form-data">
    <input type="file" name="myFile" />
</g:form>

コントローラでは、次のようなものを使用できます。

class FileController {
    def save = {
        def f = request.getFile('myFile')
        if(!f.empty) {
            def fileName = 'file_xyz'
            f.transferTo( new File('imgs/' + fileName) )
        }
        redirect(action:show)
    }
}

画像を操作する必要がある場合(拡大縮小、トリミングなど)、ImgScalrをお勧めします。ここを参照してください: http ://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/

于 2012-09-14T21:39:23.743 に答える