Sample code for 30+ languages & platforms
Java Requires Chilkat v11.0.0+

WhatsApp - Upload Media

Demonstrates how to upload media to the WhatsApp Business API client. The POST body must contain the binary media data and the Content-Type header must be set to the type of the media being uploaded.

Chilkat Java Downloads

Java
import com.chilkatsoft.*;

public class ChilkatExample {

  static {
    try {
        System.loadLibrary("chilkat");
    } catch (UnsatisfiedLinkError e) {
      System.err.println("Native code library failed to load.\n" + e);
      System.exit(1);
    }
  }

  public static void main(String argv[])
  {
    boolean success = false;

    //  This example assumes the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    CkHttp http = new CkHttp();

    //  Implements the following CURL command:

    //  curl -X POST \
    //  https://your-webapp-hostname:your-webapp-port/v1/media \
    //  -H 'Authorization: Bearer your-auth-token' \ 
    //  -H 'Content-Type: image/jpeg'
    //  --data-binary @your-file-path

    //  Use the following online tool to generate HTTP code from a CURL command
    //  Convert a cURL Command to HTTP Source Code

    CkBinData bdRequestBody = new CkBinData();
    success = bdRequestBody.LoadFile("your-file-path");
    if (success != true) {
        System.out.println("Failed to load your-file-path");
        return;
        }

    //  Adds the "Authorization: Bearer your-auth-token" header.
    http.put_AuthToken("your-auth-token");

    CkHttpResponse resp = new CkHttpResponse();
    success = http.HttpBd("POST","https://your-webapp-hostname:your-webapp-port/v1/media",bdRequestBody,"image/jpeg",resp);
    if (success == false) {
        System.out.println(http.lastErrorText());
        return;
        }

    CkStringBuilder sbResponseBody = new CkStringBuilder();
    resp.GetBodySb(sbResponseBody);
    CkJsonObject jResp = new CkJsonObject();
    jResp.LoadSb(sbResponseBody);
    jResp.put_EmitCompact(false);

    System.out.println("Response Body:");
    System.out.println(jResp.emit());

    int respStatusCode = resp.get_StatusCode();
    System.out.println("Response Status Code = " + respStatusCode);
    if (respStatusCode >= 400) {
        System.out.println("Response Header:");
        System.out.println(resp.header());
        System.out.println("Failed.");
        return;
        }

    //  Sample JSON response:
    //  (Sample code for parsing the JSON response is shown below)

    //  {
    //    "messages": [
    //      {
    //        "id": "gBEGkYiEB1VXAglK1ZEqA1YKPrU"
    //      }
    //    ]
    //  }

    //  Sample code for parsing the JSON response...
    //  Use the following online tool to generate parsing code from sample JSON:
    //  Generate Parsing Code from JSON

    String id;

    int i = 0;
    int count_i = jResp.SizeOfArray("messages");
    while (i < count_i) {
        jResp.put_I(i);
        id = jResp.stringOf("messages[i].id");
        i = i+1;
        }
  }
}