首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

idftp在连续上传文件过程中,创建目录时出错,请教什么原因

2012-02-26 
idftp在连续上传文件过程中,创建目录时出错,请问什么原因?用idftp上传文件,是从一个本地目录中通过遍历的

idftp在连续上传文件过程中,创建目录时出错,请问什么原因?
用idftp上传文件,是从一个本地目录中通过遍历的方式,把一个目录下所有文件都上上传上去,但是在连续上传过程中,总是在传了128个文件后就在创建目录的地方出错,提示目录已经存在。下面是代码

Delphi(Pascal) code
UpLoadFtp.ChangeDir('/');                UpLoadFtp.List(dir_List,'',True);                DirStringList:=SplitString(ftpDirectStr,'/');                for i:=0 to DirStringList.Count-1 do                begin                    if(DirStringList[i]<>'') then                    begin                      if(dir_List.IndexOf(DirStringList[i])=-1) then                      begin                        try                          UploadFTP.MakeDir(DirStringList[i]);                        except on ex:Exception do                          writeLog('添加目录出错:目录名:' + DirStringList[i] + ';出错原因:' + ex.Message);                        end;                      end;                      try                        UpLoadFtp.ChangeDir(DirStringList[i]);                      except on ex:Exception do                        writeLog('变更目录出错:' + ex.Message);                      end;                    end;                end;                UpLoadFtp.put(localPath,saveFileName,false);                Sleep(1000);                UpLoadFileState:=True;

声明一下:这个程序只是个临时性的工具,所以没有把上传处理做成另一个线程,都在界面的部分一并处理了。有些变量在前面部分已经赋值了,不要在这上面纠缠了,另外,采用的主动模式。所以现在我的怀疑有两个:一个是因为主动模式,造成有时候和服务器断开;二就是128这个数字很奇特,而且也观察了一下,传输128个文件,把这128个文件信息往数据库中写,几乎不花时间就写进去了,所以怀疑FTP等待队列是不是有长度限制。
有这方面经验的人谈谈看法。

[解决办法]
根据ex.Message得到原因

热点排行