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