我对这种事情都很陌生。读取客户端发送的图像是“application / x-www-form-urlencoded” 这是我从该客户端收到的图像,这是一个ipad应用程序。它将图像附加到http正文并使用其他参数使用?id = 10等将其发送到服务器。 问题是......如何从身体中获取该图像并写入文件系统?
现在我已经写了一个单独的servlet来读取这个图像(使用request.getInputStream())并读取它的字节然后写入文件系统,这是不好的(上下文变得不同)。
在Grails控制器中可以做什么,以便它可以轻松读取图像。请帮帮我。对我来说,它是高度优先的。 感谢
答案 0 :(得分: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)
}
}
如果你需要操纵de image(缩放它,裁剪它......),我建议使用ImgScalr。看这里: http://www.thebuzzmedia.com/software/imgscalr-java-image-scaling-library/