2

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

4

1 回答 1

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();
}
于 2013-11-25T12:30:49.430 回答