0

我对这种事情完全陌生。读取客户端发送的图像是“application/x-www-form-urlencoded” 这是我从该客户端收到的图像,它是一个 ipad 应用程序。它将图像附加到 http 正文并使用 ?id=10 等将其与其他参数一起发送到服务器。问题是....如何从其主体中获取该图像并写入文件系统?

现在我已经编写了一个单独的 servlet 来读取这个图像(使用 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 回答