Chilkat • HOME • Android™ • AutoIt • C • C# • C++ • Chilkat2-Python • CkPython • Classic ASP • DataFlex • Delphi DLL • Go • Java • Node.js • Objective-C • PHP Extension • Perl • PowerBuilder • PowerShell • PureBasic • Ruby • SQL Server • Swift • Tcl • Unicode C • Unicode C++ • VB.NET • VBScript • Visual Basic 6.0 • Visual FoxPro • Xojo Plugin
(Objective-C) FTP Download with Progress Event CallbacksFTP download with progress event callbacks.
// 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> // 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 = @"myLogin"; ftp.Password = @"myPassword"; // Connect and login to the FTP server. BOOL success = [ftp ConnectOnly]; if (success != YES) { NSLog(@"%@",ftp.LastErrorText); return; } success = [ftp LoginAfterConnectOnly]; if (success != YES) { NSLog(@"%@",ftp.LastErrorText); return; } // Change to the remote directory where the file is located. // This step is only necessary if the file is not in the home directory // of the FTP account. success = [ftp ChangeRemoteDir: @"junk"]; if (success != YES) { NSLog(@"%@",ftp.LastErrorText); return; } NSString *localFilename = @"c:/temp/hamlet.xml"; NSString *remoteFilename = @"hamlet.xml"; // Ensure that we get PercentDone callbacks. ftp.AutoGetSizeForProgress = YES; // Download the file. success = [ftp GetFile: remoteFilename localPath: localFilename]; if (success != YES) { NSLog(@"%@",ftp.LastErrorText); return; } success = [ftp Disconnect]; NSLog(@"%@",@"File Downloaded!"); |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.