2

我正在从以下 Javascript 发送表单数据请求:

xmlHttpReq.open("POST", "https://server.com/resource", true);
formData = new FormData(form);
xmlHttpReq.send(formData);

在 tomcat 容器中运行的服务器代码如下:

@POST
@Path("{computation}")
@Consumes({"application/x-www-form-urlencoded,multipart/form-data"})
String doPost(MultivaluedMap <String, String> formParams) {
    ....
    return strVar;
}

服务器接收内容类型

content-type="multipart/form-data; 
boundary=----WebKitFormBoundaryM1A3izVTDMdn1xsJ"

并引发以下异常:

SEVERE: A message body reader for Java class javax.ws.rs.core.MultivaluedMap, 
and Java type javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.String>, 
and MIME media type multipart/form-data; 
boundary=----WebKitFormBoundaryM1A3izVTDMdn1xsJ was not found.

如何让服务器接受multipart/form-data请求?它适用于application/x-www-form-urlencoded内容类型。

谢谢你。

4

1 回答 1

0

你的@Consumes 应该这样格式化:

@Consumes("application/x-www-form-urlencoded","multipart/form-data")
于 2013-06-26T01:39:55.390 回答