Java 类org.apache.http.entity.mime.FormBodyPartBuilder 实例源码

项目:sparkjava-spike    文件:ArticleApiTest.java   
@Test
    public void testMultipart() throws Exception {
        try (CloseableHttpClient httpClient = HttpClients.createDefault()) {
            HttpPost createArticleRequest = new HttpPost("http://localhost:" + port + "/articles");
            String articleAsString = objectMapper.writeValueAsString(new Article("article title", "article body"));
            String imagePartName = "image";
            String imageFileName = "image.jpg";
            byte[] imageBytes = IOUtils.toByteArray(getClass().getResourceAsStream("/" + imageFileName));
            HttpEntity requestEntity = MultipartEntityBuilder.create()
                    .addTextBody("article", articleAsString, ContentType.APPLICATION_JSON)
                    .addPart(FormBodyPartBuilder.create()
                            .setName(imagePartName)
                            .setBody(new ByteArrayBody(imageBytes, ContentType.create("image/jpeg"), imageFileName))
                            .setField("Content-Disposition", String.format("form-data; name=\"%s\"; filename=\"%s\"; size=%d", imagePartName, imageFileName, imageBytes.length))
                            .build())
                    .build();
            createArticleRequest.setEntity(requestEntity);
            try (CloseableHttpResponse createArticleResponse = httpClient.execute(createArticleRequest)) {
                assertThat(createArticleResponse.getStatusLine().getStatusCode(), equalTo(201));
                String location = createArticleResponse.getFirstHeader("location").getValue();
//                System.out.println("Retrieving article from: " + location);
                HttpGet getArticleRequest = new HttpGet(location);
                try (CloseableHttpResponse getArticleResponse = httpClient.execute(getArticleRequest)) {
                    assertThat(getArticleResponse.getStatusLine().getStatusCode(), equalTo(200));
                    assertThat(getArticleResponse.getFirstHeader("content-type").getValue(), equalTo("application/json"));
                }
                String imageUrl = location + "/images/" + imageFileName;
//                System.out.println("Retrieving image from:   " + imageUrl);
                HttpGet getImageRequest = new HttpGet(imageUrl);
                try (CloseableHttpResponse getImageResponse = httpClient.execute(getImageRequest)) {
                    assertThat(getImageResponse.getStatusLine().getStatusCode(), equalTo(200));
                    assertThat(getImageResponse.getFirstHeader("content-type").getValue(), equalTo("image/jpeg"));
                    assertThat(IOUtils.toByteArray(getImageResponse.getEntity().getContent()), equalTo(imageBytes));
                }
            }
        }
    }
项目:iaf    文件:HttpSender.java   
protected FormBodyPart createMultipartBodypart(String name, String message, String contentType) {
    FormBodyPartBuilder bodyPart = FormBodyPartBuilder.create()
        .setName(name)
        .setBody(new StringBody(message, ContentType.create(contentType, getCharSet())));

    if (StringUtils.isNotEmpty(getMtomContentTransferEncoding()))
        bodyPart.setField(MIME.CONTENT_TRANSFER_ENC, getMtomContentTransferEncoding());

    return bodyPart.build();
}
项目:iaf    文件:MultipartEntityBuilder.java   
public MultipartEntityBuilder addPart(String name, ContentBody contentBody) {
    Args.notNull(name, "Name");
    Args.notNull(contentBody, "Content body");
    return addPart(FormBodyPartBuilder.create(name, contentBody).build());
}
项目:iaf    文件:HttpSender.java   
protected FormBodyPart createMultipartBodypart(String name, InputStream is, String fileName, String contentType) {
    FormBodyPartBuilder bodyPart = FormBodyPartBuilder.create()
        .setName(name)
        .setBody(new InputStreamBody(is, ContentType.create(contentType, getCharSet()), fileName));
    return bodyPart.build();
}
项目:idilia-java-sdk    文件:DisambiguateRequest.java   
/**
 * Provides the document to process as a String
 * 
 * Convenience method that allows setting the text.
 * "mime" is the mime expected by the server (e.g., text/query).
 * @param text Text to process
 * @param mime Mime type as described in @{link sourceMime}
 * @param chSet Character set for the text encoding
 */
public final void setText(String text, String mime, Charset chSet) {
  FormBodyPartBuilder bld = FormBodyPartBuilder.create(
      "text" + this.attachments.size(),
      new StringBody(text, ContentType.create(mime, chSet)));
  this.attachments.add(bld.build());
}