void CTestFTP::FTP_DOWN(CString filename)
{
CInternetSession session;
CFtpConnection *pConnection = NULL;
try {
// IP주소 ID Password
pConnection = session.GetFtpConnection( _T(“111.222.33.4”), _T(“abcd”), _T(“12345“));
// 연결이 안됐을 경우
if (!pConnection) {
AfxMessageBox(_T(“Error”));
pConnection = NULL;
return;
}
pConnection->SetCurrentDirectory(_T(“/s”));
CString str;
pConnection->GetCurrentDirectory(str);// FTP 서버의 폴더 경로 얻기
CString RemoteStr;
CString LocalStr;
RemoteStr.Format( _T(“%s/%s”),m_ProgramPath,filename/*_T(“abcd.exe”)*/); // ftp내 폴더 위치 및 파일명
LocalStr.Format(_T(“%s\%s”), path, filename); // 복사될 위치 및 파일명
pConnection->GetFile(RemoteStr, LocalStr, FALSE,FILE_ATTRIBUTE_NORMAL,FTP_TRANSFER_TYPE_ASCII | INTERNET_FLAG_RELOAD,NULL);
//windows 7 64bit 에서 정상동작 하지 않을 경우 ‘INTERNET_FLAG_RELOAD’ 플래그 추가
} catch (CInternetException *pEx) {
pEx->ReportError(MB_ICONEXCLAMATION);
pConnection = NULL;
pEx->Delete();
}
pConnection->Close();
}