IdFTP: TIdFTP;
...
procedure TForm1.IdFTPWorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
IdFTP.Disconnect;
try
IdFTP.Connect;
IdFTP.ChangeDir( directory );
IdFTP.Put( fileName, ExtractFileName( fileName ) );
except
end;
end;
这是大多数代码。
我希望当1个上传完成后开始另一个,但是此代码似乎会引发错误10048。
将文件和命令序列上传到服务器是否正确?
为什么此错误10048上升,以及如何解决?
最佳答案
错误10048 =套接字已在使用中:info
您不需要WorkEnd事件,Put语句在完成上传文件后返回:
// loop
for I := 0 to files.Count-1 do
begin
idFtp1.Connect;
idFtp1.Put(files[i]);
idFtp1.Disconnect;
end;
// or
idFtp1.Put('MyFirstFile');
idFtp1.DisConnect;
// ......
idFtp1.Connect;
idFtp1.ChangeDir('DirSecondFile');
idFtp1.Put('MySecondFile');