现在其他ftp功能都没有问题。但是,
在我上传一文件到ftp一文件夹(A)后,后面要做一次move到(B).但是有时候B里面已经有了这个文件,此操作可以理解为重命名。
但是会有个异常,即说:此文件已经存在无法创建。
我查过有关ftp档案说这样是可以来改名,如果存在会把之前的文件给覆盖掉。但是我不知道为什么在微软自带的ftp会有此问题。目前已经是PRD上运行。
请哪位朋友碰到过此类问题或者我ftp配置有什么问题。请帮帮我,谢谢!这部分代码:
if(!bConnected)
{
Connect();
}
SendCommand("RNFR "+strOldFileName);
if(iReplyCode != 350)
{
throw new IOException(strReply.Substring(4));
}
//  如果新文件名与原有文件重名,将覆盖原有文件
SendCommand("RNTO "+strNewFileName);
if(iReplyCode != 250)
{
throw new IOException(strReply.Substring(4));
}Error Log
[Time] 2007-9-18 19:54:16
[Message] ../modsUpload_move/BKK0504136_MAETH20070911162527_0913091641_SAP.EPL: Cannot create a file when that file already exists. [Source] Void Rename(System.String, System.String)
[Detail]    at PowerscanFtp.Tools.FTP.FTPClient.Rename(String strOldFileName, String strNewFileName) in d:\programcode\powerscanphase_src_20070903\powerscanphase_src_20070903\service solutions\powerscanftp\tools\ftp\ftpsource.cs:line 406
   at PowerscanFtp.Tools.FTP.FTPService.StartUploadFile(FTPSetting setting, String filepath) in d:\programcode\powerscanphase_src_20070903\powerscanphase_src_20070903\service solutions\powerscanftp\tools\ftp\ftpservice.cs:line 219
   at PowerscanFtp.FtpTask.ExecReUpLoad() in d:\programcode\powerscanphase_src_20070903\powerscanphase_src_20070903\service solutions\powerscanftp\ftptask.cs:line 103

解决方案 »

  1.   

    我开始一直用serv-U做的ftp
    但是PRD的ftp是微软自带的。
    这种几率发生很少重复。但是有了就要解决掉。
    谢谢!
      

  2.   

    13、RNFR <文件名>
    更名一个文件的前一半进程,文件名是服务器上的一个有效文件名。服务器响应:350->等待进一步的信息;421、450、550->无法执行。14、RNTO <文件名>
    更名一个文件的后一半进程,文件名为新的文件名。服务器响应:250->已完成;421、532、553->无法执行当执行RNTO操作时候返回553.就是无法执行了
      

  3.   

    vb版本http://community.csdn.net/Expert/TopicView3.asp?id=5763979
    我发了2份。
      

  4.   

    不过我不知道为什么在serv-U下可以成功!
    这点我很疑惑。
      

  5.   

    我觉得是微软自带的ftp对 RNFR ,RNTO 的命令解析是不完整的。