Objective-C
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
#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];