在Grails中代理MultiPart表单请求

时间:2015-04-08 16:12:33

标签: grails

我有一个接收DefaultMultipartHttpServletRequest的Grails控制器,如下所示:

def myController() {
    DefaultMultipartHttpServletRequest proxyRequest = (DefaultMultipartHttpServletRequest) request
}

此控制器通过接收此请求的一部分充当代理,然后将请求重新发送到另一个目标。

对于非多部分请求,这工作正常,我做了类似的事情:

IProxyService service = (IProxyService) clientFactory.create()
Response response = service.doPOST(proxyRequest.getRequestBody())

其中proxyRequest.getRequestBody()包含一个包含请求有效负载的JSON块。

但是,我不知道如何使用多部分请求有效负载,因为请求正文不再是简单的JSON块,而是类似以下内容(取自Chrome devtools):

enter image description here

如何通过上面的代理服务传递此请求有效负载,其中doPost采用字符串?

1 个答案:

答案 0 :(得分:0)

你试过吗

def parameterValue = request.getParameter("parameterName")

获取参数值? 如果您看到DefaultMultipartHttpServletRequest的方法签名,您将看到有单独获取文件和其他参数的方法,因为请求正文已习惯于上传文件并传入其他参数。