试试用ftpcommand,用CWD \。不知行否。

解决方案 »

  1.   

    形势所迫,不能用控件,只用api函数
    问题在于FtpPutFile函数无法正确运行,各参数又似乎没有什么问题
      

  2.   

    大概是这样,你再查查:FtpCommand(...)
      

  3.   

    Ftp相关的Windows APIInternetOpen 初始化 Win32 internet  
    InternetConnect 打开一个FTP, HTTP, or Gopher 应用会话 
    FtpCreateDirectory 在服务器上建立一个新的目录 
    FtpRemoveDirectory 删除服务器上的一个目录 
    FtpOpenFile 打开服务器上的一个文件进行读写 
    FtpGetFile 接收指定的文件并且在本地建立它 
    FtpPutFile 发送指定文件到服务器 
    FtpDeleteFile 删除服务器上一个指定的文件 
    FtpSetCurrentDirectory 设置服务器上当前的工作目录 
    FtpGetCurrentDirectory 返回服务器当前的工作目录 
    FtpCommand 发送命令到服务器 
    FtpFindFirstFile 返回文件信息。放在 WIN32_FIND_DATA 结构中 
    InternetFindNextFile 调用 FtpFindFirstFile()后在目录中连续查找 
    FtpRenameFile 修改服务器上指定的文件的名字 
     
      

  4.   

    我的问题很怪异:
    FtpSetCurrentDirectory运行正常,而FtpPutFile运行失败
    或许用”运行失败“来表达是不正确的,因为FtpPutFile已经运行了,只是返回了False
    我的API申明是:
    Public Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" _
       (ByVal hFtpSession As Long, _
        ByVal lpszLocalFile As String, _
        ByVal lpszRemoteFile As String, _
        ByVal dwFlags As Long, _
        ByVal dwContext As Long) As Boolean关于FtpCommand能否详细一点,比方说介绍一些参数,或者给一个例子
    如果谁能从FtpPutFile的角度来解决我的问题,我会再加分
      

  5.   

    将"test.doc"改为"\test.doc"试试。
      

  6.   

    改成"\test.doc"也不行,这个问题令人疑惑,因为前面一句FtpSetCurrentDirectory正常