FTP envoi de fichiers, EIdReadTimeout
Bonjour,
c'est la première fois que je rencontre ce problème et ne sais de quoi il retourne
Voici ma routine d'envoi, la connexion se passe bien par contre le put ne se fait pas :arf: c'est pourtant un petit fichier de quelques ko
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
procedure TDatas.ftpSend(Boutique, Source, destination: String);
var idftp : TIdFtp;
begin
with TFDQuery.Create(Self) do
begin
Connection:=ConnexionBase;
SQL.Text:='SELECT FTP_ADDRESS, FTP_USER, FTP_PASS FROM MAGASINS_PRESTASHOP WHERE ADDRESS CONTAINING :P';
ParamByName('P').AsString:=Boutique;
Open;
IdFTP := TIdFTP.create(nil);
try
IdFTP.Host :=DeCryptString(FieldByName('FTP_ADDRESS').asString,GUIDPresta+InfosAuteur[0]);
idftp.Port:=21;
IdFTP.Username :=DeCryptString(FieldByName('FTP_USER').asString,GUIDPresta+InfosAuteur[0]);
IdFTP.Password := DeCryptString(FieldByName('FTP_PASS').asString,GUIDPresta+InfosAuteur[0]);
IdFTP.Connect; // OK
if verbose AND idftp.Connected then Writeln('Connecté , envoi de '+Source+' vers '+destination); // OK
IdFTP.put(Source,Destination); // timeout
finally
idftp.Disconnect;
IdFTP.Free;
end;
Close;
end;
end; |
1- Est-ce que je peux tracer un peu plus le problème ? Je pense que oui même si je ne m'y suis pas encore penché.
2- Serait-ce un problème de fichier source non fermé (il est généré par un fdbatchmove) ? [Edit]un test sur un fichier déjà créé me retourne la même erreur
L'ajout de idftp.NATKeepAlive.UseKeepAlive:=True; ne change rien
3- autres pistes ?