Sample code for 30+ languages & platforms
Objective-C

HTTPS Upload File to Web Server

See more HTTP Examples

Uploads a file to a web server using HTTPS.

Chilkat Objective-C Downloads

Objective-C
#import <CkoHttpRequest.h>
#import <CkoHttp.h>
#import <CkoHttpResponse.h>

BOOL success = NO;

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

// The ContentType, HttpVerb, and Path properties should
// always be explicitly set.
CkoHttpRequest *req = [[CkoHttpRequest alloc] init];
req.HttpVerb = @"POST";
req.Path = @"/receiveMyUpload.aspx";
req.ContentType = @"multipart/form-data";

[req AddStringForUpload: @"fileA" filename: @"fileA.txt" strData: @"This is the contents of file A" charset: @"utf-8"];
success = [req AddFileForUpload: @"starfish.jpg" path: @"qa_data/jpg/starfish.jpg"];
if (success == NO) {
    NSLog(@"%@",req.LastErrorText);
    return;
}

CkoHttp *http = [[CkoHttp alloc] init];

// ----------------------------------------------------------------------------
// IMPORTANT:
// HTTP uploads require a counterpart implementation on the server, written in any desired language
// such as C#, Classic ASP, PHP, etc., which consumes the upload being sent.
// See: ASP.NET Receive Upload
// ----------------------------------------------------------------------------

// Do the upload.
BOOL useSslTls = YES;
CkoHttpResponse *resp = [[CkoHttpResponse alloc] init];
success = [http HttpSReq: @"www.example.com" port: [NSNumber numberWithInt: 443] ssl: useSslTls request: req response: resp];
if (success == NO) {
    NSLog(@"%@",http.LastErrorText);
    return;
}

NSLog(@"%@%d",@"response status code = ",[resp.StatusCode intValue]);
NSLog(@"%@",@"response body:");
NSLog(@"%@",resp.BodyStr);