J'ai un problème avec le composant idFTP Indy essayant de télécharger un fichier à partir de notre serveur. Il télécharge 99% du fichier, puis se bloque. L'instruction GET ne retourne pas. Tout ce qui a changé récemment, c'est que nous sommes passés de Desktops exécutant win 8.1 à des ordinateurs portables exécutant win10. Si j'écris la progression et la taille du fichier à l'écran, le téléchargement est assez rapide jusqu'à la fin, et les derniers octets ne se terminent pas. Le fichier que j'essaie de télécharger est 15 573 350 octets. Il arrive à environ 14 Mo (plutôt rapide) et s'arrête. J'ai essayé de télécharger un autre fichier, et c'est la même chose.Dans Delphi XE6 FTP instruction GET() ne retourne pas après le téléchargement terminé
Des idées?
Voici le code, il n'y a rien d'extraordinaire à ce sujet. Je l'ai copié à partir de notre application de travail pour essayer et tester, pour voir si c'était quelque chose dans le projet principal.
with IdFTP1 do
begin
Host := 'xxx';
Username := 'xxx';
Password := 'xxx';
passive := True;
Connect;
ChangeDir('Service_Update');
ChangeDir('QA');
Self.Caption := Size('jam.zipper').tostring;
TransferType := ftBinary; //tried with and without
Get('jam.zipper','jam.zipper',true);
Button1.Caption := 'Done'; //never gets here
end;
Merci Rémy. Ce qui me chatouille, c'est que le serveur n'a eu aucun changement. La fonctionnalité de téléchargement a toujours fonctionné - jusqu'à ce que je découvre maintenant sur la victoire 10 que ce n'est plus. Pensez-vous que cela pourrait faire la différence? Pour le point 3, j'utilise en effet un thread. Mais mon code de travail actuel se comporte comme ma démo que j'ai partagée ici. Il télécharge rapidement tout et ensuite ne fait rien à la fin ... –
Ok, il se trouve que j'avais tort. Je suis revenu à gagner 8.1 pour retester ceci et c'est le même problème. Doit dire que quelque chose a changé du côté du serveur et je vais enquêter maintenant ... –