Example usage for org.apache.http.client.fluent Request Post

List of usage examples for org.apache.http.client.fluent Request Post

Introduction

In this page you can find the example usage for org.apache.http.client.fluent Request Post.

Prototype

public static Request Post(final String uri) 

Source Link

Usage

From source file:org.usc.wechat.mp.sdk.util.platform.MediaUtil.java

public static MediaJsonRtn uploadMedia(License license, MediaFile mediaFile) {
    if (mediaFile == null) {
        return JsonRtnUtil.buildFailureJsonRtn(MediaJsonRtn.class, "missing mediaFile");
    }/*from  w  w  w. j ava  2 s  .  co m*/
    // maybe todo more mediaFile legality check

    String accessToken = AccessTokenUtil.getAccessToken(license);
    String url = WechatRequest.UPLOAD_MEDIA.getUrl();
    try {
        MediaType mediaType = mediaFile.getMediaType();
        URI uri = new URIBuilder(url).setParameter("access_token", accessToken)
                .setParameter("type", mediaType.getName()).build();

        HttpEntity httpEntity = MultipartEntityBuilder.create().addBinaryBody("body", mediaFile.getFile())
                .build();

        String rtnJson = Request.Post(uri).connectTimeout(HttpUtil.CONNECT_TIMEOUT)
                .socketTimeout(HttpUtil.SOCKET_TIMEOUT).body(httpEntity).execute()
                .handleResponse(HttpUtil.UTF8_CONTENT_HANDLER);

        MediaJsonRtn jsonRtn = JsonRtnUtil.parseJsonRtn(rtnJson, MediaJsonRtn.class);
        log.info("upload media:\n url={},\n body={},\n rtn={},{}", uri, mediaFile, rtnJson, jsonRtn);
        return jsonRtn;
    } catch (Exception e) {
        String msg = "upload media failed:\n " + "url=" + url + "?access_token=" + accessToken + ",\n body="
                + mediaFile;
        log.error(msg, e);
        return JsonRtnUtil.buildFailureJsonRtn(MediaJsonRtn.class, "uploadMedia failed");
    }
}