我正在通过 jquery ajax 实现一个文件上传,但我没有对 Controller 端的数据做一些事情。我得到了参数,但没有得到在这个例子中是 jpeg 的文件。数据在请求有效负载中。
我的问题在服务器端。如何在服务器端获取文件?
@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
...
如何在 Controller 中获取文件?
最佳答案
我也在做同样的事情,并使用 request.getInputStream()
在 Controller 中获取二进制数据。这实际上来自 ServletRequest
接口(interface) - 见 http://docs.oracle.com/javaee/7/api/javax/servlet/ServletRequest.html#getInputStream--
关于grails Controller 处理ajax文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31541134/