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

Facebook Upload Photo from Local File

See more Facebook Examples

Uploads a new photo with a caption from a local file.

Chilkat Java Downloads

Chilkat2 Java
import com.chilkatsoft.chilkat2.ChilkatException;
import com.chilkatsoft.chilkat2.Http;
import com.chilkatsoft.chilkat2.HttpRequest;
import com.chilkatsoft.chilkat2.HttpResponse;

public class ChilkatExample {

    public static void main(String[] args) {
        // This example assumes Chilkat HTTP to have been previously unlocked.
        // See Global Unlock Sample for sample code.

        Http http = new Http();

        HttpRequest req = new HttpRequest();
        req.setHttpVerb("POST");
        req.setContentType("multipart/form-data");
        req.setPath("/v2.7/me/photos");

        // Use the previously obtained access token.
        // Note: The publish_actions scope is required to upload a photo.
        req.addHeader("Authorization", "Bearer FACEBOOK-ACCESS-TOKEN");

        // Send an "Expect: 100-continue" header in the request.
        // This causes the HTTP server to end a 100-continue response
        // immediately after receiving the HTTP header.  The client
        // (Chilkat) will receive this intermediate response, and if
        // it's not an error response, it knows that the HTTP server will
        // accept the data that is forthcoming.
        // The alternative is to get an error response after trying to upload
        // the entire contents of the files.
        req.addHeader("Expect", "100-continue");

        // Set a photo caption.
        req.addParam("caption", "Here are some penguins!");

        // Additional parameters can be added to the request by
        // calling AddParam once per parameter.
        // See https://developers.facebook.com/docs/graph-api/reference/user/photos
        // for more information about other optional parameters.

        // Indicate the local file to be uploaded.
        try {
            req.addFileForUpload("source", "qa_data/jpg/penguins2.jpg");
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Upload the image file..
        HttpResponse resp = new HttpResponse();
        try {
            http.httpSReq("graph.facebook.com", 443, true, req, resp);
        } catch (ChilkatException e) {
            System.out.println(e.getLastErrorText());
            return;
        }

        // Examine the response body:
        String responseJson = resp.getBodyStr();
        System.out.println(responseJson);

        // The response contains JSON, such as this:
        // {"id":"10210224963435862","post_id":"10224048320139890_10210224963435862"}
    }
}