Sample code for 30+ languages & platforms
Objective-C

REST Download Binary File to Memory

See more REST Examples

Download a binary file to a Chilkat BinData object.

Chilkat Objective-C Downloads

Objective-C
#import <CkoRest.h>
#import <NSString.h>
#import <CkoBinData.h>
#import <CkoStringBuilder.h>

BOOL success = NO;

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

CkoRest *rest = [[CkoRest alloc] init];

// We're going to download a sample MS-Word doc file.
// The URLs of our MS-Word sample documents are:

// https://www.chilkatdownload.com/sample_data/sample.doc
// https://www.chilkatdownload.com/sample_data/sample.docx

NSString *pathPartOfUrl = @"/sample_data/sample.doc";
NSString *domain = @"chilkatdownload.com";

BOOL bTls = YES;
int port = 443;
BOOL bAutoReconnect = YES;
success = [rest Connect: domain port: [NSNumber numberWithInt: port] tls: bTls autoReconnect: bAutoReconnect];
if (success != YES) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

CkoBinData *bd = [[CkoBinData alloc] init];
success = [rest FullRequestNoBodyBd: @"GET" uriPath: pathPartOfUrl binData: bd];
if (success != YES) {
    NSLog(@"%@",rest.LastErrorText);
    return;
}

// A 200 response is expected for actual success.
// If we don't get a 200 response, then the response body was not actually
// the file data, but it was text containing error information.
if ([rest.ResponseStatusCode intValue] != 200) {
    CkoStringBuilder *sbErrorText = [[CkoStringBuilder alloc] init];
    [sbErrorText AppendBd: bd charset: @"utf-8" offset: [NSNumber numberWithInt: 0] numBytes: [NSNumber numberWithInt: 0]];
    NSLog(@"%@",[sbErrorText GetAsString]);
    NSLog(@"%@",@"-- Failed.");
    return;
}

// Save to a local file.
// Change the file path based on your operating system or needs...
success = [bd WriteFile: @"c:/temp/qa_output/sample.doc"];
if (success != YES) {
    NSLog(@"%@",@"Failed to save to local file.");
    return;
}

NSLog(@"%@",@"REST Download of MS-Word File was successful.");