Objective-C
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
#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.");