IdFTP.Get

hardouz Messages postés 196 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 26 novembre 2009 - 28 nov. 2007 à 23:45
hardouz Messages postés 196 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 26 novembre 2009 - 30 nov. 2007 à 15:45
salut
j'ai un probléme de telechargement de fichier a partir de mon serveur FTP grace au composant indy !
voici ma procedure

procedure TForm1.downClick(Sender: TObject);
var chemin : string;
begin
with savefile do
begin
chemin:=Listview1.Items[ listview1.ItemIndex].Caption;
savefile.FileName:=chemin;
EXECUTE;
end;
IdFTP1.Get(chemin, Savefile.FileName,true);
end;

mais lorsque je clique il creé le fichier sur le disque dur ( vide ) puis il m'affiche un message d'erreur
{par exemple ici j'ai voulu tetechager le fichier FOTO.JPG
---------------------------
Project1
---------------------------
Can't open FOTO.JPG: No such file or directory

---------------------------
OK  
---------------------------
quelqu'un a une idée svp ? merci d'avance

7 réponses

OcHre Messages postés 44 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 26 avril 2008
29 nov. 2007 à 12:13
Salut, je pense qu'ici le problème vient de ta variable "chemin" ,  ta procedure get devrait normalement ressembler à ça:

idFTP1.get('FOTO.jpg','c:\FOTO.jpg',true);

Ceci-dit j'ai jamais utiliser un listview donc si c'est bien ce que tu
as tu m'excuseras. Sinon vérifie aussi si tu dois être en mode passif
ou non, si c'est le cas mets la propriété idFTP1.Passive à True.
0
hardouz Messages postés 196 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 26 novembre 2009
29 nov. 2007 à 22:43
ReSalut
j'ai esseyer sans la variable chemin c a d en indiquant le nom du fichier directement 'FOTO.jpg' et j'ai mis la propriéte  Passive a True mais aucun changement le meme probléme tjr :(
merci
0
OcHre Messages postés 44 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 26 avril 2008
30 nov. 2007 à 12:14
Désolé j'ai fait une petite erreur hier, c'est en fait:


idFTP.Get(CheminDeMaPhoto+'FOTO.jpg','c:\FOTO.jpg',true);


Parcontre si le fichier que tu veux télécharger se trouve dans le
répertoire courant tu n'as pas besoin de préciser  le chemin
d'accés. Autre chose, tu utilises "with .. do" alors que tu n'appelles
que execute et surtout tu assignes le contenu de ta variable chemin à
la propriété Filename de ton savetofile, or ce chemin est celui de ton
fichier sur ton serveur ftp, tu ne dois récuperer que le nom du fchier.
Essayes plutot comme ça:


function nomfile(path:string):string;

var

s:string;

i:integer;

begin

s:='';

i:=length(path);

repeat

dec(i);

until path[i]='/';

repeat

inc(i);

s:=s+path[i];

until i>=length(path);

result:=s;

end;


procedure TForm1.downClick(Sender: TObject);

var chemin : string;

begin

chemin:=Listview1.Items[ listview1.ItemIndex].Caption;

savefile.filename:=nomfile(chemin);

if savefile.execute then

begin

 try

 IdFTP1.Get(chemin, Savefile.FileName,true);

 except

 showmessage('erreur');

 end;

end;

end;

Rions un peu en attendant la mort.
0
hardouz Messages postés 196 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 26 novembre 2009
30 nov. 2007 à 12:57
Salut
Je telecharge le fichier depuis le reperatoire courant ( et le Tlistview contient les nom des fichier de ce repertoire ! ) donc normalement c'est bien ecrite la procedure :(

chemin:=Listview1.Items[ listview1.ItemIndex].Caption; {Nom du fichier selectionné }
savefile.filename:=(chemin);
if savefile.execute then
begin
 try
 IdFTP1.Get(chemin, Savefile.FileName,true);
 except
 showmessage('Erreur de transfert ');
 end;

Mais sa maffiche toujour un erreur :(
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
OcHre Messages postés 44 Date d'inscription mercredi 23 mars 2005 Statut Membre Dernière intervention 26 avril 2008
30 nov. 2007 à 13:32
Est-ce que c'est la meme erreur? Sinon essayes aussi de sniffer la session histoire de voir ce que dis le serveur.
Rions un peu en attendant la mort.
0
hardouz Messages postés 196 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 26 novembre 2009
30 nov. 2007 à 15:44
Salut
Oui c'est la meme erreur toujours j'ai esseyer avec un autre Client FTP creé avec les composants indy et sa marche bien dans le mien je c'est pas pourquoi il fais des erreur ? :(
Merci d'avance
0
hardouz Messages postés 196 Date d'inscription jeudi 22 février 2007 Statut Membre Dernière intervention 26 novembre 2009
30 nov. 2007 à 15:45
Salut
Oui c'est la meme erreur toujours j'ai esseyer avec un autre Client FTP creé avec les composants indy et sa marche bien dans le mien je c'est pas pourquoi il fais des erreur ? :(
Merci d'avance
0
Rejoignez-nous