grails控制器处理ajax文件上传

时间:2015-07-21 13:54:11

标签: grails

我正在通过jquery ajax实现文件uplaod但是我无法对控制器端的数据做些什么。我得到了参数,但不是文件,在这个例子中是一个jpeg。数据在请求有效负载中。

Chrome output

我的问题出在服务器端。如何在服务器端获取文件?

@Secured(['ROLE_USER', 'ROLE_ADMIN', 'ROLE_PARTNER', 'ROLE_READ_ONLY',     'ROLE_USER_PAYING'])
def fileupload () {
    println "---------------------------------------------------"
    params.each{
        println it.key +"="+ it.value
    }
    request.getHeaderNames().each{
        println (it)
    }

    render("OK")
}

这是我收到的输出:

---------------------------------------------------
filename=1506368_10152113826431683_327028558_o.jpg
apiKey=c7937acaf6d5411d8920d194dc48c041
action=fileupload
controller=post
host
connection
content-length
...

如何在控制器中获取文件?

1 个答案:

答案 0 :(得分:0)

我正在做同样的事情,并在控制器中使用request.getInputStream()来获取二进制数据。这实际上来自ServletRequest界面 - 请参阅http://docs.oracle.com/javaee/7/api/javax/servlet/ServletRequest.html#getInputStream--