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

时间:2013-11-22 09:13:00

标签: java jersey multipart jersey-client

我正在发送带有jersey-client和jersey客户端的多部分数据 我的问题是,使用服务器将传入的TCP流解析为原始数据,使用自己的常量值作为边界。听起来很奇怪,我知道:)但我不能做这个服务器方面的事情 所以我需要自己设置边界,但在FormDataMultiPart中找不到任何合适的方法。我该如何解决?甚至可能吗?

1 个答案:

答案 0 :(得分:2)

让您的方法返回Response并自行设置回复的媒体类型:

@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();
}