Sample code for 30+ languages & platforms
Android™

Asynchronous HTTPS Upload (TLS)

See more Upload Examples

Demonstrates how to do an HTTPS (TLS) upload asynchronously in a background thread.

A server-side C# example showing how to receive an upload is located at C# ASP.NET Code to Receive Upload

Chilkat Android™ Downloads

Android™
// Important: Don't forget to include the call to System.loadLibrary
// as shown at the bottom of this code sample.
package com.test;

import android.app.Activity;
import com.chilkatsoft.*;

import android.widget.TextView;
import android.os.Bundle;

public class SimpleActivity extends Activity {

  private static final String TAG = "Chilkat";

  // Called when the activity is first created.
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    boolean success = false;

    CkUpload upload = new CkUpload();

    // Specify the page (ASP, ASP.NET, Perl, Python, Ruby, CGI, etc)
    // that will process the HTTP Upload.
    upload.put_Hostname("www.mywebserver.com");
    upload.put_Path("/receiveUpload.aspx");

    // Add one or more files to be uploaded.
    upload.AddFileReference("file1","dude.gif");
    upload.AddFileReference("file2","pigs.xml");
    upload.AddFileReference("file3","sample.doc");

    // To upload using SSL/TLS (https), set the Ssl property = true
    upload.put_Ssl(true);

    // Begin the HTTP upload in a background thread:
    success = upload.BeginUpload();
    if (success != true) {
        Log.i(TAG, upload.lastErrorText());
        }
    else {
        Log.i(TAG, "Upload started..");
        }

    // Wait for the upload to finish.
    // Print the progress as we wait...
    while ((upload.get_UploadInProgress() == true)) {
        // We can abort the upload at any point by calling:
        // upload.AbortUpload();

        // Display the percentage complete and the number of bytes uploaded so far..
        // The total upload size will become set after the upload begins:
        Log.i(TAG, String.valueOf(upload.get_PercentUploaded()) + "% " + String.valueOf(upload.get_NumBytesSent()) + "/"
             + String.valueOf(upload.get_TotalUploadSize()));

        // Sleep 2/10ths of a second.
        upload.SleepMs(200);

        }

    // Did the upload succeed?
    if (upload.get_UploadSuccess() == true) {
        Log.i(TAG, "Files uploaded!");
        }
    else {
        Log.i(TAG, upload.lastErrorText());
        }


  }

  static {
      System.loadLibrary("chilkat");

      // Note: If the incorrect library name is passed to System.loadLibrary,
      // then you will see the following error message at application startup:
      //"The application <your-application-name> has stopped unexpectedly. Please try again."
  }
}