C
C
FTP Upload with Progress Event Callbacks
See more FTP Examples
FTP upload with progress event callbacks.Chilkat C Downloads
#include <C_CkFtp2.h>
BOOL ftp_PercentDone(int percentDone)
{
printf("Percent Done: %d\n",percentDone);
return FALSE;
}
void ftp_ProgressInfo(const char *name, const char *value)
{
printf("%s: %s\n",name,value);
}
void ChilkatSample(void)
{
BOOL success;
HCkFtp2 ftp;
BOOL (*fnftpPercentDone)(int percentDone) = ftp_PercentDone;
void (*fnftpProgressInfo)(const char *name, const char *value) = ftp_ProgressInfo;
const char *localPath;
const char *remoteFilename;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
ftp = CkFtp2_Create();
CkFtp2_setPercentDone(ftp, fnftpPercentDone);
CkFtp2_setProgressInfo(ftp, fnftpProgressInfo);
CkFtp2_putHostname(ftp,"ftp.someFtpServer.com");
CkFtp2_putUsername(ftp,"my_ftp_username");
CkFtp2_putPassword(ftp,"my_ftp_password");
// Connect and login to the FTP server.
success = CkFtp2_Connect(ftp);
if (success != TRUE) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
// Change to the remote directory where the file will be uploaded.
success = CkFtp2_ChangeRemoteDir(ftp,"junk");
if (success != TRUE) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
// Upload a file.
localPath = "c:/temp/hamlet.xml";
remoteFilename = "hamlet.xml";
success = CkFtp2_PutFile(ftp,localPath,remoteFilename);
if (success != TRUE) {
printf("%s\n",CkFtp2_lastErrorText(ftp));
CkFtp2_Dispose(ftp);
return;
}
success = CkFtp2_Disconnect(ftp);
printf("File Uploaded!\n");
CkFtp2_Dispose(ftp);
}