Sample code for 30+ languages & platforms
Objective-C

SFTP Upload and Download to a StringBuilder Object

See more SFTP Examples

Demonstrates how to SFTP upload from a Chilkat StringBuilder object, and download into a StringBuilder object.

Chilkat Objective-C Downloads

Objective-C
#import <CkoSFtp.h>
#import <CkoStringBuilder.h>
#import <NSString.h>

BOOL success = NO;

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

CkoSFtp *sftp = [[CkoSFtp alloc] init];

//  Set some timeouts, in milliseconds:
sftp.ConnectTimeoutMs = [NSNumber numberWithInt:5000];
sftp.IdleTimeoutMs = [NSNumber numberWithInt:10000];

//  Connect to the SSH server and then authenticate.
int port = 22;
success = [sftp Connect: @"MY-SSH-SERVER-DOMAIN-OR-IP" port: [NSNumber numberWithInt: port]];
if (success == YES) {
    success = [sftp AuthenticatePw: @"MY-SSH-LOGIN" password: @"MY-SSH-PASSWORD"];
    if (success == YES) {
        success = [sftp InitializeSftp];
    }

}

if (success != YES) {
    NSLog(@"%@",sftp.LastErrorText);
    return;
}

CkoStringBuilder *sbA = [[CkoStringBuilder alloc] init];
[sbA LoadFile: @"qa_data/hamlet.xml" charset: @"utf-8"];

//  Upload the contents of sbA to the SSH/SFTP server.
BOOL bIncludeBOM = NO;
NSString *remotePath = @"sftpTesting/hamlet.xml";
success = [sftp UploadSb: sbA remoteFilePath: remotePath charset: @"utf-8" includeBom: bIncludeBOM];
if (success != YES) {
    NSLog(@"%@",sftp.LastErrorText);
    return;
}

//  Download the file..
CkoStringBuilder *sbB = [[CkoStringBuilder alloc] init];
success = [sftp DownloadSb: remotePath charset: @"utf-8" sb: sbB];
if (success != YES) {
    NSLog(@"%@",sftp.LastErrorText);
    return;
}

//  Verify that sbA and sbB have the exact same contents.
NSLog(@"%@%d",@"size of sbA: ",[sbA.Length intValue]);
BOOL bCaseSensitive = YES;
if ([sbA ContentsEqualSb: sbB caseSensitive: bCaseSensitive] == YES) {
    NSLog(@"%@",@"Contents are equal. Success.");
}
else {
    NSLog(@"%@",@"Contents are NOT equal.  Failed.");
}

[sftp Disconnect];