Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... 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-2024 Chilkat Software, Inc. All Rights Reserved.