Sample code for 30+ languages & platforms
Objective-C

SFTP Upload and Download to a BinData Object

See more SFTP Examples

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

Chilkat Objective-C Downloads

Objective-C
#import <CkoSFtp.h>
#import <CkoBinData.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;
}

CkoBinData *bdA = [[CkoBinData alloc] init];
[bdA LoadFile: @"qa_data/jpg/penguins.jpg"];

//  Upload the contents of bdA to the SSH/SFTP server.
NSString *remotePath = @"sftpTesting/penguins.jpg";
success = [sftp UploadBd: bdA remoteFilePath: remotePath];
if (success != YES) {
    NSLog(@"%@",sftp.LastErrorText);
    return;
}

//  Download the file..
CkoBinData *bdB = [[CkoBinData alloc] init];
success = [sftp DownloadBd: remotePath binData: bdB];
if (success != YES) {
    NSLog(@"%@",sftp.LastErrorText);
    return;
}

//  Verify that bdA and bdB have the exact same contents.
NSLog(@"%@%d",@"size of bdA: ",[bdA.NumBytes intValue]);
if ([bdA ContentsEqual: bdB] == YES) {
    NSLog(@"%@",@"Contents are equal. Success.");
}
else {
    NSLog(@"%@",@"Contents are NOT equal.  Failed.");
}

[sftp Disconnect];