Java 如何将我自己的值设置为边界,使用jersey发送多部分数据?

Java 如何将我自己的值设置为边界,使用jersey发送多部分数据?,java,jersey,multipart,jersey-client,Java,Jersey,Multipart,Jersey Client,我正在使用jersey客户端发送多部分数据,jersey客户端生成边界本身。 我的问题是,消费服务器将传入的TCP流解析为原始数据,使用自己的常量值作为边界。听起来很奇怪,我知道:)但我不能在服务器端做任何事情。 所以我需要自己设置边界,但在FormDataMultiPart中找不到任何合适的方法。我怎样才能解决它?甚至可能吗?让您的方法返回并自己设置响应的媒体类型: @POST @Consumes(MediaType.MULTIPART_FORM_DATA) public Response p

我正在使用jersey客户端发送多部分数据,jersey客户端生成边界本身。

我的问题是,消费服务器将传入的TCP流解析为原始数据,使用自己的常量值作为边界。听起来很奇怪,我知道:)但我不能在服务器端做任何事情。
所以我需要自己设置边界,但在FormDataMultiPart中找不到任何合适的方法。我怎样才能解决它?甚至可能吗?

让您的方法返回并自己设置响应的媒体类型:

@POST
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response post(
        @FormDataParam("part") String s,
        @FormDataParam("part") FormDataContentDisposition d) {

    final Map<String, String> parameters = Maps.newHashMap();
    parameters.put("boundary", "myboundary");

    final MediaType mediaType = new MediaType("multipart", "form-data", parameters);

    return Response
            .ok(s + ":" + d.getFileName(), mediaType)
            .build();
}
@POST
@使用(MediaType.MULTIPART\u FORM\u数据)
公众回应站(
@FormDataParam(“部分”)字符串s,
@FormDataParam(“部分”)FormDataContentD{
最终映射参数=Maps.newHashMap();
参数。put(“边界”、“我的边界”);
最终MediaType MediaType=新的MediaType(“多部分”、“表单数据”、参数);
返回响应
.ok(s+:“+d.getFileName(),mediaType)
.build();
}

“使用他自己的常量值作为边界”。哇,听起来像废话。我知道。一开始很有趣。但现在我必须设法处理它。