一ftp问题,用2003自带的问题会有问题,而serv-U没有任何问题。

naturalth 2007-09-18 07:57:22
现在其他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
...全文
224 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
naturalth 2007-09-19
  • 打赏
  • 举报
回复
我觉得是微软自带的ftp对 RNFR ,RNTO 的命令解析是不完整的。
naturalth 2007-09-19
  • 打赏
  • 举报
回复
今天谁再看看!!!
naturalth 2007-09-18
  • 打赏
  • 举报
回复
不过我不知道为什么在serv-U下可以成功!
这点我很疑惑。
孟子E章 2007-09-18
  • 打赏
  • 举报
回复
实在不行,就先判断是否存在,存在先删除在移动。
看错误好像是使用的命令还是有问题
naturalth 2007-09-18
  • 打赏
  • 举报
回复
vb版本http://community.csdn.net/Expert/TopicView3.asp?id=5763979
我发了2份。
naturalth 2007-09-18
  • 打赏
  • 举报
回复
13、RNFR <文件名>
更名一个文件的前一半进程,文件名是服务器上的一个有效文件名。服务器响应:350->等待进一步的信息;421、450、550->无法执行。

14、RNTO <文件名>
更名一个文件的后一半进程,文件名为新的文件名。服务器响应:250->已完成;421、532、553->无法执行

当执行RNTO操作时候返回553.就是无法执行了
naturalth 2007-09-18
  • 打赏
  • 举报
回复
我开始一直用serv-U做的ftp
但是PRD的ftp是微软自带的。
这种几率发生很少重复。但是有了就要解决掉。
谢谢!

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧