[MFC] – FTP 접속 및 파일 다운

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();

}