MFC程序上传文件到FTP服务器指定目录下的问题?

时间:2022-03-06 12:14:14
我想在MFC程序中添加文件上传功能,现在可以上传,但是我指定目录后,始终不管用
我的代码:

在头文件中,添加以下变量
 CFtpConnection *m_pFtpConnection;
 CInternetSession m_Session;

在初始化应用程序的时候添加下面几行
 m_pFtpConnection = NULL;
 try
 {
   //这里用你的用户名,密码连接到ftp服务器 ,其中usr是用户名,pwd是密码,ftpSite.com,是你想要连接的ftp服务器.  
   m_pFtpConnection = m_Session.GetFtpConnection("192.168.18.52","usr","pwd",INTERNET_INVALID_PORT_NUMBER);
    m_pFtpConnection->SetCurrentDirectory("D:\\Ftp");
 }
 catch(CInternetException *pEx)
 {
    pEx->ReportError(MB_ICONEXCLAMATION);
    m_pFtpConnection = NULL;
    pEx->Delete();
 }

 为了上传文件,添加上以下几行代码:-
 CFileFind Finder;
 CString strFileName;
 CString strFileRoot;
 // 这里c:\\Myfile.bmp 是你要上传的文件名称
 // 文件没有必要是一个bmp图片,你可以根据需要上传任何图片 
 // CString strFileName 确保上传到服务器上的文件保持原来的名称,当然,你也可以改成任何其他的 
 // 名称
 
 if(Finder.FindFile(".\\2012.txt")==TRUE)
 {
  Finder.FindNextFile();
  strFileName = Finder.GetFileName();
  strFileRoot = Finder.GetRoot();
  Finder.Close();
 }
 strFileRoot+=strFileName;
 BOOL bUploaded = m_pFtpConnection->PutFile(strFileRoot,strFileName,FTP_TRANSFER_TYPE_BINARY,1);
 if(bUploaded)
AfxMessageBox("Uploaded Successfully");
 else AfxMessageBox("Uploaded Failed");


我现在的问题是m_pFtpConnection->SetCurrentDirectory(LPCTSTR("D:\\解释程序\\SIPhone"));这句代码总是返回0,设定目录总是失败,谁能帮我分析一下,到底是哪的错?
在线等,只要方法能设定目录成功马上给分

11 个解决方案

#1


 m_pFtpConnection->SetCurrentDirectory("D:\\Ftp \\");

另外,GetLastError看一下错误代码

#2


路径中存在中文容易出错,检查看是否报未知路径错误

#3


引用 1 楼  的回复:
 m_pFtpConnection->SetCurrentDirectory("D:\\Ftp\\");

另外,GetLastError看一下错误代码

我这样试了,还是不行,我在网上看见都是这么写的,但是不明白为啥我这就不行

#4


引用 2 楼  的回复:
路径中存在中文容易出错,检查看是否报未知路径错误

默认目录中带有中文,我用AddHead(finder.GetFilePath())获取了个目录中带有中文,也没问题,但是自己设定就是不行,总是返回0

#5


该回复于2012-08-22 11:01:51被版主删除

#6


难道帖子就这样沉了吗,不能沉啊,在线等
求高人指点
急急急急急急急急急急

#7


GetLastError返回值是什么?

另外,试试相对路径

#8


 the Win32 function GetLastError may be called to determine the cause of the error
调试看看返回的错误代码是啥。

#9


考。搞定,不是程序的问题,NND的现在结贴
还有谁去看看这个帖子,我把分给了他
http://topic.csdn.net/u/20120822/10/893fdbfd-dc22-47ef-bef7-17f4e7674200.html

#10


该回复于2012-08-22 15:27:26被版主删除

#11


我的猴子呢...

MFC程序上传文件到FTP服务器指定目录下的问题?

#1


 m_pFtpConnection->SetCurrentDirectory("D:\\Ftp \\");

另外,GetLastError看一下错误代码

#2


路径中存在中文容易出错,检查看是否报未知路径错误

#3


引用 1 楼  的回复:
 m_pFtpConnection->SetCurrentDirectory("D:\\Ftp\\");

另外,GetLastError看一下错误代码

我这样试了,还是不行,我在网上看见都是这么写的,但是不明白为啥我这就不行

#4


引用 2 楼  的回复:
路径中存在中文容易出错,检查看是否报未知路径错误

默认目录中带有中文,我用AddHead(finder.GetFilePath())获取了个目录中带有中文,也没问题,但是自己设定就是不行,总是返回0

#5


该回复于2012-08-22 11:01:51被版主删除

#6


难道帖子就这样沉了吗,不能沉啊,在线等
求高人指点
急急急急急急急急急急

#7


GetLastError返回值是什么?

另外,试试相对路径

#8


 the Win32 function GetLastError may be called to determine the cause of the error
调试看看返回的错误代码是啥。

#9


考。搞定,不是程序的问题,NND的现在结贴
还有谁去看看这个帖子,我把分给了他
http://topic.csdn.net/u/20120822/10/893fdbfd-dc22-47ef-bef7-17f4e7674200.html

#10


该回复于2012-08-22 15:27:26被版主删除

#11


我的猴子呢...

MFC程序上传文件到FTP服务器指定目录下的问题?