createdirectory">
当前位置:   article > 正文

FTP断点续传_pftpconnection->createdirectory

pftpconnection->createdirectory

花了一天的时间整出来这点东西,写一下吧!

  1. VOID FtpThief::Connect(TCHAR*IP,TCHAR*USER,TCHAR*PASS,UINT PORT)
  2. {
  3. pInternetSession = new CInternetSession("MR",INTERNET_OPEN_TYPE_PRECONFIG);
  4. try
  5. {
  6. pFtpConnection = pInternetSession->GetFtpConnection(IP,USER,PASS,PORT);
  7. pFtpConnection->CreateDirectory("web\\uploadfile");
  8. bconnect=TRUE;
  9. }catch(CInternetException* pEx)
  10. {
  11. TCHAR szErr[1024];
  12. pEx->GetErrorMessage(szErr, 1024);
  13. printf("错误:%s\n",szErr);
  14. pEx->Delete();
  15. }
  16. }
  17. //获取FTP上文件大小
  18. LONGLONG FtpThief::GetFtpFileSize(CFtpConnection* pFtpCon, CString strFtpFile)
  19. {
  20. CFtpFileFind ftpFind(pFtpCon);
  21. LONGLONG filelen = 0;
  22. if(ftpFind.FindFile(strFtpFile))
  23. {
  24. ftpFind.FindNextFile();
  25. filelen = ftpFind.GetLength();
  26. }
  27. ftpFind.Close();
  28. return filelen;
  29. }
  30. //断点续传
  31. bool FtpThief::FtpTransProc(TCHAR*FilePath,TCHAR*FileName)
  32. {
  33. CString m_ftpPath = FileName;
  34. CFile localFile;
  35. DWORD nRet = localFile.Open(FilePath,CFile::modeRead|CFile::shareDenyRead);
  36. if(!nRet)
  37. {
  38. OutputDebugString("open file error");
  39. return false;
  40. }
  41. //获取文件大小,设置续传文件的位置
  42. long long llFileBegin;
  43. llFileBegin = GetFtpFileSize(pFtpConnection,m_ftpPath);
  44. localFile.Seek(llFileBegin,CFile::begin);
  45. ///pFtpConnection->CreateDirectory(m_ftpPath);
  46. //是指路径:如FTP://file1/file2.rar 则是"file1//file2.rar"
  47. CInternetFile *pInetFile = NULL;
  48. pInetFile=pFtpConnection->Command("APPE " +m_ftpPath,CFtpConnection::CmdRespWrite);
  49. DWORD len;
  50. long long m_nFileTransSize = 0;
  51. char buffer[MAX_PATH*1024*2] = {0};
  52. DWORD nBufSize = MAX_PATH*1024*2;
  53. //读写文件
  54. while(len=localFile.Read(buffer,nBufSize))
  55. {
  56. pInetFile->Write(buffer,len);
  57. m_nFileTransSize += len;
  58. }
  59. localFile.Close();
  60. return true;
  61. }


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/162526
推荐阅读
相关标签
  

闽ICP备14008679号