Client client = ClientBuilder.newBuilder()
.register(MultiPartFeature.class)
.build();
MultiPart multiPart = new FormDataMultiPart()
.field("items", "[\"Apple\", \"Orang\"]", MediaType.APPLICATION_JSON_TYPE)
.bodyPart(new FileDataBodyPart("photo", new File("img.png"));
Response response = client
.target(url)
.request()
.header(HttpHeaders.CACHE_CONTROL, "no-cache")
.post(Entity.entity(multiPart), multiPart.getMediaType());
Чтобы это работало, вам нужно добавить зависимость
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-multipart</artifactId>
<version>${jersey2.version}</version>
</dependency>
Вы пометили dropwizard , поэтому я предполагаю, что вы уже используете / имеете клиент Jersey.Если вы не добавите
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
<version>${jersey2.version}</version>
</dependency>
См. Также