整个多部分有效负载使用Jersey作为单个FormDataParam

时间:2015-05-11 15:00:26

标签: java rest jersey multipartform-data

我使用Jersey构建REST服务来上传文件。我的方法是这样开始的:

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Produces({ MediaType.APPLICATION_JSON })
@Path("/upload")
public String upload(
    @FormDataParam("one") String one,
    @FormDataParam("two") String two,
    @FormDataParam("file") InputStream file) {

当我使用“one”,“two”和“file”表单字段发布对此资源的请求时,我在变量“one”中获取整个有效负载,包括二进制文件数据和多部分边界每个变量从表单字段中获取其各自的值。

这里出了什么问题?

编辑: 对于客户端,我使用了这个HTML:

<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

    <form method="post" action="/upload"
        enctype="multipart/form-data">
        One: <input type="text" name="one" /> 
        Two: <input type="text" name="two" /> 
        File: <input type="file" name="file" />
        <input type="submit" name="Submit" />
    </form>
</body>
</html>

我也尝试过使用Postman REST客户端进行Chrome。

更新1: 由于提出问题的人没有更新,我会很荣幸地添加可能有助于重现问题的数据 -

Postman Call

Java method

Debugging the above java method

0 个答案:

没有答案