Sample code for 30+ languages & platforms
Objective-C

FTP Upload with Progress Event Callbacks

See more FTP Examples

FTP upload with progress event callbacks.

Chilkat Objective-C Downloads

Objective-C
// This is the interface header ftpProgress.h
#import "CkoFtp2Progress.h"

@interface ftpProgress : CkoFtp2Progress {
}

- (void)PercentDone: (NSNumber *)pctDone abort: (BOOL *)abort;
- (void)ProgressInfo:(NSString *)pinfName value:(NSString *)pinfValue;
@end
// ----------------------------------------------------

#import <ftpProgress.h>
@implementation ftpProgress

- (void)PercentDone: (NSNumber *)pctDone abort: (BOOL *)abort
{
    int percentDone = [pctDone intValue];
        NSLog(@"%@%d",@"Percent Done: ",percentDone);
}

- (void)ProgressInfo:(NSString *)pinfName value:(NSString *)pinfValue
{
        NSLog(@"%@%@%@",pinfName,@": ",pinfValue);
}

@end

// ----------------------------------------------------

#import <CkoFtp2.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.

CkoFtp2 *ftp = [[CkoFtp2 alloc] init];
ftpProgress *ftp_progress = [[ftpProgress alloc] init];
[ftp setEventCallbackObject: ftp_progress];

ftp.Hostname = @"ftp.someFtpServer.com";
ftp.Username = @"my_ftp_username";
ftp.Password = @"my_ftp_password";

// Connect and login to the FTP server.
success = [ftp Connect];
if (success != YES) {
    NSLog(@"%@",ftp.LastErrorText);
    return;
}

// Change to the remote directory where the file will be uploaded.
success = [ftp ChangeRemoteDir: @"junk"];
if (success != YES) {
    NSLog(@"%@",ftp.LastErrorText);
    return;
}

// Upload a file.
NSString *localPath = @"c:/temp/hamlet.xml";
NSString *remoteFilename = @"hamlet.xml";

success = [ftp PutFile: localPath remoteFilename: remoteFilename];
if (success != YES) {
    NSLog(@"%@",ftp.LastErrorText);
    return;
}

success = [ftp Disconnect];

NSLog(@"%@",@"File Uploaded!");