The following example shows a direct chunked encoded POST of the specified file data to the specified URI:
import com.sap.httpclient.HttpClient; import com.sap.httpclient.http.methods.POST; import com.sap.httpclient.http.methods.InputStreamRequestData; import com.sap.httpclient.http.HttpStatus; import java.io.File; import java.io.FileInputStream; /** * This example makes a direct chunked encoded post of the * specified file data to the specified uri. * */ public class SimpleExample3 { public static void main(String[] args) { try { // getting the uri and file values from the arguments String uri = args[0]; // format should be // http://<host>[:port]/<post path> String fileName = args[1]; // creating the http client instance HttpClient client = new HttpClient(); // creating the post method instance with the specified uri POST httppost = new POST(uri); // creating a pointer to the file File file = new File(fileName); // setting the request data to the method -> // stream to the file httppost.setRequestData(new InputStreamRequestData( new FileInputStream(file))); // setting the chunked content httppost.setContentChunked(true); try { // executing the method client.executeMethod(httppost); // checking the status and showing the response if (httppost.getStatusCode() == HttpStatus.SC_OK) { System.out.println(httppost.getResponseBodyAsString()); } else { System.out.println("Unexpected failure: " + httppost.getStatusLine().toString()); } } finally { httppost.releaseConnection(); } } catch (Exception e) { e.printStackTrace(); System.out.println("USSAGE : java SimpleExample3" + " <uri> <data filename>"); } } }